目錄
1、 遵循單一責任原則
2、最小化共享狀態
3、在地化副作用
4、優先選擇不可變的物件
5、多用介面少用類別
6、對模組應用良好的原則
7.避免繼承
8.同設計和開發一樣進行測試
9.優先選擇而不是手寫標準庫
10.避免寫新代碼
首頁 後端開發 php教程 你必須了解的10個程式設計的技巧

你必須了解的10個程式設計的技巧

Sep 17, 2017 am 10:25 AM
了解 技巧 程式設計

摘要:何以敲出一手好程式碼?好程式碼可以定義為易讀、易懂、易調試、易改,最重要的還要少缺陷。顯然,要想敲出一手好程式碼,是要花不少時間,但這在長久來看是有意義的,因為你可以花更少時間及精力去維護和復用你的程式碼。這是來自一位30位軟體經驗的老程式設計師的總結。

                                            

好程式碼可以定義為易讀、易懂、易調試、易改,最重要的還要少缺陷。顯然,要想敲出一手好程式碼,是要花不少時間,但這在長久來看是有意義的,因為你可以花更少時間及精力去維護和復用你的程式碼。

事實上,我們可以將好程式碼等同於可重複使用的程式碼,這也是下面提到的重要原則之一。程式碼可能只是完成了程式設計工作中短期目標的特定功能,但如果沒人(包括你自己)願意重複使用你的程式碼,這程式碼在某種程度上可以說是不足且有缺陷的。要嘛太複雜、要嘛太具體、要嘛在不同情況下極有可能崩掉,或者其他程式設計師可能不相信你的程式碼。

下面無論你的經驗程度如何,如果你始終如一地將下面的妙招應用到你的程式碼中(包括你的實驗或原型),那麼一手好程式碼隨手可得。

1、 遵循單一責任原則

函數在程式設計師的函式庫中是單一最重要的抽象形式。可以重複使用的機會越多,你要寫的程式碼就越少,這些程式碼就越可靠。遵循單一責任原則的小小函數更有可能被重新使用。

2、最小化共享狀態

應該將函數之間的隱式共享狀態最小化,無論它是文件作用域變數還是物件的成員字段,這有利於顯式地將所需的值作為參數。當明確函數實現所需結果時,程式碼變得容易理解和重複使用。

對此可以得出一個結論,你應該優先選擇靜態無狀態變數而不是物件的成員變數。

3、在地化副作用

理想的副作用(例如列印到控制台、記錄、改變全域狀態、檔案系統操作等)應該放置在單獨的模組中,而不是分散在整個程式碼中。功能上的副作用往往違反了單一的責任原則。

4、優先選擇不可變的物件

如果一個物件的狀態在其建構函式中設定一次,並且不再次更改,則除錯變得容易得多,因為一旦建構正確就保持有效。這是降低軟體專案複雜性最簡單的方法之一。

5、多用介面少用類別

接受介面的函式(或C++中的範本參數或概念)比在類別上操作的函式可重用性更強。

6、對模組應用良好的原則

將軟體專案分解成更小的模組(例如程式庫和應用程式),以實現模組化重用。模組的一些關鍵原則是:

  1. 最小化依賴關係

  2. 每個專案都應該有單一明確的功能

  3. 不要重複

你應該努力讓你的專案保持小巧和明確。

7.避免繼承

在物件導向程式設計中,繼承,特別是虛擬函數在可重用性方面往往是一個死穴。我很少能成功地使用能覆蓋類別的函式庫。

8.同設計和開發一樣進行測試

我並不是測試驅動開發的鐵桿擁護者,但在你開始編寫測試程式碼時,編寫測試自然遵循了許多指導方針。它也有助於提早將錯誤暴露出來。避免編寫無用的測試,良好的編碼意味著更高級的測試(例如,單元測試中的整合測試或功能測試)在顯示缺陷方面更有效。

9.優先選擇而不是手寫標準庫

我無法告訴你需要多久才能看到一個std :: vector 或std :: string 更好的版本,但它幾乎總是浪費時間和精力。除了一個顯而易見的事實,那就是你正在把 bug 引入一個新的地方。 (請參閱技巧10)其他程式設計師不太可能重複使用您的程式碼,而不是那些被廣泛理解、支援和測試的程式碼。

10.避免寫新代碼

最重要的一點是,每位程式設計師應遵循:“The best code is the code that isn't written” (最好的程式碼是不用被複寫的程式碼)。你的程式碼越多,缺陷就越多,找到並修復 bug 就越困難。

在寫一行程式碼之前先問問自己,有沒有一個工具,函數或函式庫已經做了你所需要的功能?你真的需要自己去實作這個功能,而不是呼叫另一個已經存在的功能嗎?
總結
程式設計就好比是一種藝術形式或一項運動,你只有透過不斷地練習,不斷地向他人學習,才能不斷地提高程式碼的質量,這些都將有利於你成為更有效率的程式設計師。

以上是你必須了解的10個程式設計的技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1659
14
CakePHP 教程
1416
52
Laravel 教程
1310
25
PHP教程
1258
29
C# 教程
1233
24
使用正規表示式去除 PHP 數組中的重複值 使用正規表示式去除 PHP 數組中的重複值 Apr 26, 2024 pm 04:33 PM

使用正規表示式從PHP數組中移除重複值的方法:使用正規表示式/(.*)(.+)/i匹配並取代重複項。遍歷數組元素,使用preg_match檢查匹配情況。如果匹配,請跳過值;否則,將其添加到無重複值的新數組中。

程式設計是乾啥的,學了有什麼用 程式設計是乾啥的,學了有什麼用 Apr 28, 2024 pm 01:34 PM

1、程式設計可用於開發各種軟體和應用程序,包括網站、手機應用程式、遊戲和數據分析工具等。它的應用領域非常廣泛,幾乎涵蓋了所有行業,包括科學研究、醫療保健、金融、教育、娛樂等。 2.學習程式設計可以幫助我們提升問題解決能力和邏輯思考能力。在程式設計過程中,我們需要分析和理解問題,找出解決方案,並將其轉換為程式碼。這種思維方式能夠培養我們的分析和抽象能力,提升我們解決實際問題的能力。

釋放你內心的程式設計師:C 絕對初學者 釋放你內心的程式設計師:C 絕對初學者 Oct 11, 2024 pm 03:50 PM

C語言是初學者學習程式設計的理想選擇,其優點包括效率、多功能性和可移植性。學習C語言需要:安裝C編譯器(如MinGW或Cygwin)了解變數、資料型別、條件語句和迴圈語句編寫包含主函數和printf()函數的第一個程式透過實戰案例(如計算平均數)練習C語言知識

使用 Python 解決問題:作為初學者,解鎖強大的解決方案 使用 Python 解決問題:作為初學者,解鎖強大的解決方案 Oct 11, 2024 pm 08:58 PM

Python 讓初學者能夠解決問題。

不打架改打球! 《永劫無間》全新模式熱血鬥振球玩法介紹 不打架改打球! 《永劫無間》全新模式熱血鬥振球玩法介紹 Apr 11, 2024 pm 01:52 PM

排位打累了?那就來打球吧!默契配合的隊友,讓對手嚐一口嚐出其不意的滋味!瞬息萬變的戰場,試試看如何巧用技能一招破局! 《永劫無間》在4月11日的更新中上線了一個全新的團隊對抗模式,以下就帶給大家永劫無間熱血鬥振球活動介紹。永劫無間熱血鬥振球玩法一覽簡介:透過各種手段反彈鬥球,擊敗敵人。人數:單排9人,三排6人玩法說明:回合:1、遊戲分為多個回合,每回合開始時,鬥球會出生在場地中央隨機選取一名玩家追擊,玩家使用各種手段擊球會使鬥球提速,被鬥球擊中會扣除體力。 2、單排每人每回合擁有一點體力,三排每人每

C++ 程式設計謎題片段:激發思維,提升程式設計水平 C++ 程式設計謎題片段:激發思維,提升程式設計水平 Jun 01, 2024 pm 10:26 PM

C++程式設計謎題涵蓋斐波那契數列、階乘、漢明距離、陣列最大值和最小值等演算法和資料結構概念,透過解決這些謎題,可以鞏固C++知識,提升演算法理解和程式設計技巧。

編碼的關鍵:為初學者釋放 Python 的力量 編碼的關鍵:為初學者釋放 Python 的力量 Oct 11, 2024 pm 12:17 PM

Python透過其易學性和​​強大功能,是初學者的理想程式設計入門語言。其基礎包括:變數:用於儲存資料(數字、字串、列表等)。資料型態:定義變數中資料的型態(整數、浮點數等)。運算符:用於數學運算和比較。控制流程:控製程式碼執行流程(條件語句、迴圈)。

Python 的力量,簡單:一種適合初學者的程式設計方法 Python 的力量,簡單:一種適合初學者的程式設計方法 Oct 11, 2024 pm 04:53 PM

Python程式設計入門安裝Python:從官方網站下載並安裝。 HelloWorld!:使用print("HelloWorld!")列印第一行程式碼。實戰案例:計算圓面積:使用π(3.14159)和半徑計算圓面積。變數和資料類型:使用變數儲存數據,Python中的資料類型包括整數、浮點數、字串和布林值。表達式與賦值:使用運算子將變數、常數和函數連接起來,並使用賦值運算子(=)將值賦給變數。控制流程:if-else語句:根據條件執行不同的程式碼區塊,確定奇

See all articles