編程規范的目的是讓代碼更容易閱讀,更容易維護,”代碼是寫給人看的”這個觀點應該是寫代碼的基本原則。
1、命名規則:最好變量命名長度為6-15個字母之間,明確地表達出每個變量的意思,不要使用歧義單詞或者生僻單詞,方法命名遵循同樣的規則,最好用動詞表示,譬如Set開頭表示設置、Match表示匹配等
2、方法長度:盡量使用短的方法體,一個方法體裡面的代碼行最好不要超過80行,超過就應該考慮把裡面獨立的內容提取放到另一個方法裡面(也就是所謂的重構)
3、參數個數:參數個數不要太多,如果超過7個參數,可以考慮使用對象進行封裝進行傳遞
4、邏輯判斷:一個方法裡面不要嵌套太多的邏輯判斷,超過三層(理論上五層)的判斷就可以考慮把其中的一部分獨立成新方法調用
5、生命周期:盡量縮短變量的存活周期,不是必須使用盡量不要使用全局變量
6、變量跨度:變量聲明定義開始到第一次使用該變量的代碼行之間的行距盡可能短
7、字面常量:使用某類型的某個值作為參數(譬如:int status=1,string returnType=”list”等),盡量不要使用這樣的參數,原因有二:字面常量不易於閱讀;字面常量不方便修改,解決方案為定義全局可用的全局常量(命名參照1)
8、字符串拼接:需要通過循環進行字符串拼接的,盡量使用StringBuilder變量來拼接,而不是使用string的”+”進行拼接,對於較長的字符串可以使用String.Format()方法進行拼接, string.contact()是”+”的完整寫法
9、垃圾回收:在操作非托管對象(如流操作)的時候盡量使用using(),譬如 using (StringWriter sw = new StringWriter(sb)){},不論在過程中是否發生異常,對象sw會在改程序段的最後自動調用sw.close()方法,這樣能防止漏寫,讓程序自動回收處理。
10、異常處理:不要用TryCatch來保證數據的轉換是否正確(譬如把Convert.ToInt32(“aaa”)這樣的錯誤語句放到 TryCatch裡捕獲),因為捕獲異常是非常耗費性能的,將會是正常程序耗時的倍數級。每個主方法都應該用TryCatch包起來,被調用的方法出現異常不及時處理則不要用TryCatch包起來。
11、關於注釋:注釋不是程序的必要組成部分,好的命名可以省去不必要的注釋,對於難懂的邏輯方法才有必要注釋。
12、關於裝箱:對於已知類型的轉換最好顯示轉換,否者CLR會自動給你進行轉換,譬如 int tempNum=5;string tempStr=”aaa”+tempNum.ToString() 要比string tempStr=”aaa”+tempNum好,在傳參過程中裝箱最為頻繁,最好的解決方法是使用泛型。
13、代碼格式:普通的縮進可以考慮vs自帶的快捷功能,快捷操作為 Ctrl+E+D,對於一行代碼的長度最好是不要超過80個英文字母(普通A4紙的寬度)
由於經驗太少,總結的不一定正確,也不夠全面,還請大牛指導
文章來源:博客園