提高C#程式設計水平的50個要點
1.總是用屬性 (Property) 來代替可訪問的資料成員
2.在 readonly 和 const 之間,優先使用 readonly
3.在 as 和 強制型別轉換之間,優先使用 as 操作符
4.使用條件屬性 (Conditional Attributes) 來代替條件編譯語句 #if
5.總是為自定義類過載 ToString 方法
6.區別值型別和引用型別
7.使用不可變的值型別(Immutable Atomic Value Types)
8.在值型別中,確保0是一個合法的資料
9.理解 ReferenceEquals, static Equals, instance Equals 和 比較運算子(==)之間的關係
10.理解 GetHashCode方法的缺陷
11.在編寫迴圈時,優先使用 foreach.
12.在定義變數的時候就將其初始化
13.使用靜態建構函式來初始化靜態成員變數
14.用多個建構函式時,利用建構函式鏈
15.使用using和try/finally來處理資源的釋放
16.儘量避免產生資源垃圾
17.儘量避免使用裝箱(boxing)和拆箱(unboxing)
18.實現類的 Dispose 方法
19.在介面和繼承(Inheritance)之間,優先使用介面(interface)
20.區分介面和過載(overrides)
21.用委託(delegate)來實現回撥(callback)
22.用事件(event)來定義外部介面
23.避免返回類內部成員的引用
24.使用後設資料來控制程式
25.優先使用可序列化(serilizable)型別
26.對需要排序的物件實現IComparable和IComparer介面
27.避免使用 ICloneable介面
28.避免使用型別轉換操作符
29.只有當基類加入了與派生類中現有的函式名稱相同的函式時,才需要使用 new 操作符
30.儘量使用 CLS-Compliant
31.儘量編寫短少,簡單的函式
32.儘量編寫比較小的程式集(assembly)
33.限定型別的可見性(visibility)
34.編寫大粒度的 web API
35.在使用事件時,優先繼承基類事件,而不是重新建立一個事件
36.多使用 framework 的執行時除錯 (DEBUG, TRACE, EVENTLOG等)
37.使用.net標準的配置機制
38.使用並且在類中支援.net的資料繫結功能 (Data Binding)
39.使用.net的驗證機制 (Validation)
40.根據你的需求選擇正確的集合類(Collection)
41.在自定義結構中使用 DataSet
42.利用屬性(Attributes)
43.不要過度使用反射(Reflection)
44.建立完整的,應用程式特定的異常
45.儘可能多的考慮程式可能出現的異常,並作出處理
46.儘可能少的使用 Interop
47.儘量使用安全程式碼 (safe code)
48.多多學習、使用外部工具和資源
49.準備使用 C# 2.0
50.學習 ECMA 標準