程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#編程中的66個好習慣大全

C#編程中的66個好習慣大全

編輯:關於C#
 

最近在網上發現這篇文章,看看自己的編程習慣掌握了多少?
1. 避免將多個類放在一個文件裡面。
2. 一個文件應該只有一個命名空間,避免將多個命名空間放在同一個文件裡面。
3. 一個文件最好不要超過500行的代碼(不包括機器產生的代碼)。
4. 一個方法的代碼長度最好不要超過25行。
5. 避免方法中有超過5個參數的情況。使用結構來傳遞多個參數。
6. 每行代碼不要超過80個字符。
7. 不要手工的修改機器產生的代碼。
  a) 如果需要編輯機器產生的代碼,編輯格式和風格要符合該編碼標准。
  b) Use partial classes whenever possible to factor out the maintained portions.
8. 避免利用注釋解釋顯而易見的代碼。
 a) 代碼應該可以自解釋。好的代碼由可讀的變量和方法命名因此不需要注釋。
9. Document only operational assumptions, algorithm insights and so on.
10. 避免使用方法級的文檔。
 a) 使用擴展的API文檔說明之。
 b) 只有在該方法需要被其他的開發者使用的時候才使用方法級的注釋。(在C#中就是///)
11. 不要硬編碼數字的值,總是使用構造函數設定其值。
12. 只有是自然結構才能直接使用const,比如一個星期的天數。
13. 避免在只讀的變量上使用const。如果想實現只讀,可以直接使用readonly。

public class MyClass
{  
    public readonly int Number;  
    public MyClass(int  someValue)  
    {      
       Number = someValue;  
    }  
    public  const int  DaysInWeek = 7;
}

14. 每個假設必須使用Assert檢查
  a) 平均每15行要有一次檢查(Assert)

using System.Diagnostics;
object GetObject() {…}
object obj = GetObject();
Debug.Assert(obj != null);

15. 代碼的每一行都應該通過白盒方式的測試。
16. 只拋出已經顯示處理的異常。
17. 在捕獲(catch)語句的拋出異常子句中(throw),總是拋出原始異常維護原始錯誤的堆棧分配。

catch(Exception exception)
 {     
  MessageBox.Show(exception.Message);  
  throw ;  //和throw exception一樣。
 }

18. 避免方法的返回值是錯誤代碼。
19. 盡量避免定義自定義異常類。
20. 當需要定義自定義的異常時:
 a) 自定義異常要繼承於ApplicationException。
 b) 提供自定義的序列化功能。
21. 避免在單個程序集裡使用多個Main方法。
22. 只對外公布必要的操作,其他的則為internal。
23. Avoid friend assemblies, as it increases inter-assembly coupling.
24. Avoid code that relies on an assembly running from a particular location.
25. 使應用程序集盡量為最小化代碼(EXE客戶程序)。使用類庫來替換包含的商務邏輯。
26. 避免給枚舉變量提供顯式的值。

//正確方法
public enum Color
{
 Red,Green,Blue
}
//避免
public enum Color
{
 Red = 1,Green = 2,Blue = 3
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved