1. 避免在乙個檔案中放多個類。
2. 乙個檔案應該只對乙個命名空間提供型別。避免在同一檔案中有多個命名空間。
3. 避免檔案長度超過500行(除了機器自動產生的**)。
4. 避免方法定義超過25行。
5. 避免超過5個引數的方法。使用結構傳遞多個引數。
6. 每行應該不超過80個字元。
7. 不要手工編輯任何機器生成的**。
8. 避免對顯而易見的內容作注釋。
9. 僅對操作的前提、內在演算法等寫文件。
10. 決不要硬編碼數值, 而總是宣告乙個常量。
11. 僅對本來就是常量的值使用const修飾符,例如一周的天數。
12. 避免對唯讀變數使用const修飾符。在此情況下,採用readonly修飾符。
public class myclass
public readonly int number;
public myclass(int somevalue)
number = somevalue;
public const int daysinweek = 7;
13. 避免採用friend程式集,因為這樣增加了程式集間的耦合度。(宣告上下文中的所有**均可以訪問其元素)
14. if語句總是使用括號,即使它包含一句語句。
15. 避免使用?:條件算符。
16. 避免在布林條件語句中呼叫函式。賦值到區域性變數並檢查它們的值。
17. 總是使用從0開始的陣列。
18. 總是使用乙個for迴圈顯式地初始化乙個引用型別的陣列。
public class myclass
myclass array = new myclass[100];
for(int index = 0; index < array.length; index++)
array[index] = new myclass();
19. 避免使用new繼承修飾符,而是使用override。
20. 除非涉及到互操作,永遠不要用不安全的**。
21. 避免顯式型別轉換。使用as演算法防護性地轉換型別。
dog dog = new germanshepherd();
germanshepherd shepherd = dog as germanshepherd;
if(shepherd != null)
22. 總是使用介面。
23. 類和介面中方法和屬性的比例至少是2:1。
24. 努力使每個介面擁有3-5個成員。
25. 避免將事件作為介面成員。
26. 優先使用明確的介面實現。
27. 將呈現給使用者的字串永遠不用硬編碼,而是使用資源
28. 發布時可能修改的字串永遠不用硬編碼
29. 構建乙個長字串時,使用stringbuilder,不要用string。
30. 當提供靜態成員變數時,總是提供乙個靜態建構函式
31. 只要可以用前期繫結就不要用後期繫結。
32. 對應用程式進行日誌和跟蹤。
33. 除非在switch語句中跳轉,永遠不要用goto語句。
34. 除非為了解決呼叫基類建構函式時成員名的衝突,否則不要使用base訪問基類的成員
35. 使用泛型的**中避免與system.object進行型別轉換
Python程式設計慣例
慣例 這個詞指的是 習慣的做法,常規的辦法,一貫的做法 與這個詞對應的英文單詞叫 idiom 由於python跟其他很多程式語言在語法和使用上還是有比較顯著的差別,因此作為乙個python開發者如果不能掌握這些慣例,就無法寫出 pythonic 的 下面我們總結了一些在python開發中的慣用的 讓...
Python程式設計慣例
慣例 這個詞指的是 習慣的做法,常規的辦法,一貫的做法 與這個詞對應的英文單詞叫 idiom 由於python跟其他很多程式語言在語法和使用上還是有比較顯著的差別,因此作為乙個python開發者如果不能掌握這些慣例,就無法寫出 pythonic 的 下面我們總結了一些在python開發中的慣用的 讓...
函式呼叫慣例
函式的呼叫方與被呼叫方對於函式如何呼叫須要乙個明確的約定,這樣的約定就叫作呼叫慣例。乙個呼叫慣例一般會規定如下幾方面的內容 1.函式引數的傳遞順序及方式 函式引數的傳遞有多種方式,常見的是通過棧傳遞。函式的呼叫方將引數壓入棧中,函式自己再從棧中取出引數。對於有多個引數的函式,呼叫慣例需要約定函式呼叫...