何謂“好的程式碼”? (轉)

gugu99發表於2008-07-23
何謂“好的程式碼”? (轉)[@more@]


“好的程式碼”應能工作,應當沒有錯誤,具有可讀性和可維護性。有的機構有程式碼“標準”,供所有的開發人員遵循,但每個人對於“什麼是最好的”以及“規則太多或太少”有著不同的看法。理論和方法也很多,例如馬克開伯複雜計演算法 (McCabe Complexity metrics) 就是一種。這種方法使人過分考慮標準和規則,從而限制了產量和創造性。“同事互檢”( Peer reviews) 和“夥伴檢察”(buddy checks) 中使用的程式碼分析等工具可以被用於檢察錯誤和標準。:namespace prefix = o ns = "urn:schemas--com::office" />

對於 C 和 C++ 程式碼,在建立規則/標準時,這裡有一些典型的思路。但不一定適用於一切情況:

ü  減少或排除全域性變數的使用。

ü  使用說明性的和方法名 —— 使用大、小寫字元,避免用縮寫,使用滿足要求的說明文字來進行充分的描述 (使用超過 20 個字元也不致超行)。取名要與功能一致。

ü  使用說明性的變數名 —— 使用大、小寫字元,避免用縮寫,使用滿足要求的說明文字來進行充分的描述 (使用超過 20 個字元也不致超行)。取名要與功能一致。

ü  函式和方法的大小要儘可能小 —— 最好不超過 100 行,少於 50 行最好。

ü  在函式程式碼前面的函式的說明文字應當清楚。

ü  書寫程式碼應便於閱讀。

ü  在水平方向和垂直方向都留出足夠的空間

ü  每行程式碼字元數不超過 70 個

ü  每條語句佔 1 行

ü  一個內的程式碼風格應一致 (在使用括弧、縮排、和命名方式等方面)

ü  註釋內容寧多勿少,通常註釋行的數量 (包括開始部分) 應當不少於程式碼行的數量

ü  不管應用程式多麼小,都應有文件,包括程式功能的概述和流程圖 (哪怕只有幾行字,也比沒有要好)。如果可能的話,最好有單獨的流程圖和詳細的程式文件。

ü  盡最大可能使用錯誤處理過程,並對狀況和錯誤進行記錄。

ü  在使用 C++  時,為了減少複雜程度和提高可維護性,應當避免類的繼承的層數過多 (這取決於應用程式的大小和複雜程度)。除要儘量減少繼承的層次以外,還應少用超負荷運算子 (minimize use of operator overloading)。使用 語言可以消除多級繼承和運算子超負荷。

ü  在使用 C++ 時,保持類的方法不要太大,對於每各類的方法,程式碼行不超過 50 行為最佳。

ü  在使用 C++ 時,應自由進行例外的處理 (make liberal use of exception handlers)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1007729/,如需轉載,請註明出處,否則將追究法律責任。

相關文章