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