提高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.多多學習、使用外部工具和資源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章