新人的編程習(xí)慣與原則:代碼是寫(xiě)給人看的
來(lái)源:易賢網(wǎng) 閱讀:1000 次 日期:2014-09-05 09:54:07
溫馨提示:易賢網(wǎng)小編為您整理了“新人的編程習(xí)慣與原則:代碼是寫(xiě)給人看的”,方便廣大網(wǎng)友查閱!

編程規(guī)范的目的是讓代碼更容易閱讀,更容易維護(hù),”代碼是寫(xiě)給人看的”這個(gè)觀點(diǎn)應(yīng)該是寫(xiě)代碼的基本原則。

1、命名規(guī)則:最好變量命名長(zhǎng)度為6-15個(gè)字母之間,明確地表達(dá)出每個(gè)變量的意思,不要使用歧義單詞或者生僻單詞,方法命名遵循同樣的規(guī)則,最好用動(dòng)詞表示,譬如Set開(kāi)頭表示設(shè)置、Match表示匹配等

2、方法長(zhǎng)度:盡量使用短的方法體,一個(gè)方法體里面的代碼行最好不要超過(guò)80行,超過(guò)就應(yīng)該考慮把里面獨(dú)立的內(nèi)容提取放到另一個(gè)方法里面(也就是所謂的重構(gòu))

3、參數(shù)個(gè)數(shù):參數(shù)個(gè)數(shù)不要太多,如果超過(guò)7個(gè)參數(shù),可以考慮使用對(duì)象進(jìn)行封裝進(jìn)行傳遞

4、邏輯判斷:一個(gè)方法里面不要嵌套太多的邏輯判斷,超過(guò)三層(理論上五層)的判斷就可以考慮把其中的一部分獨(dú)立成新方法調(diào)用

5、生命周期:盡量縮短變量的存活周期,不是必須使用盡量不要使用全局變量

6、變量跨度:變量聲明定義開(kāi)始到第一次使用該變量的代碼行之間的行距盡可能短

7、字面常量:使用某類型的某個(gè)值作為參數(shù)(譬如:int status=1,string returnType=”list”等),盡量不要使用這樣的參數(shù),原因有二:字面常量不易于閱讀;字面常量不方便修改,解決方案為定義全局可用的全局常量(命名參照1)

8、字符串拼接:需要通過(guò)循環(huán)進(jìn)行字符串拼接的,盡量使用StringBuilder變量來(lái)拼接,而不是使用string的”+”進(jìn)行拼接,對(duì)于較長(zhǎng)的字符串可以使用String.Format()方法進(jìn)行拼接, string.contact()是”+”的完整寫(xiě)法

9、垃圾回收:在操作非托管對(duì)象(如流操作)的時(shí)候盡量使用using(),譬如 using (StringWriter sw = new StringWriter(sb)){},不論在過(guò)程中是否發(fā)生異常,對(duì)象sw會(huì)在改程序段的最后自動(dòng)調(diào)用sw.close()方法,這樣能防止漏寫(xiě),讓程序自動(dòng)回收處理。

10、異常處理:不要用TryCatch來(lái)保證數(shù)據(jù)的轉(zhuǎn)換是否正確(譬如把Convert.ToInt32(“aaa”)這樣的錯(cuò)誤語(yǔ)句放到 TryCatch里捕獲),因?yàn)椴东@異常是非常耗費(fèi)性能的,將會(huì)是正常程序耗時(shí)的倍數(shù)級(jí)。每個(gè)主方法都應(yīng)該用TryCatch包起來(lái),被調(diào)用的方法出現(xiàn)異常不及時(shí)處理則不要用TryCatch包起來(lái)。

11、關(guān)于注釋:注釋不是程序的必要組成部分,好的命名可以省去不必要的注釋,對(duì)于難懂的邏輯方法才有必要注釋。

12、關(guān)于裝箱:對(duì)于已知類型的轉(zhuǎn)換最好顯示轉(zhuǎn)換,否者CLR會(huì)自動(dòng)給你進(jìn)行轉(zhuǎn)換,譬如 int tempNum=5;string tempStr=”aaa”+tempNum.ToString() 要比string tempStr=”aaa”+tempNum好,在傳參過(guò)程中裝箱最為頻繁,最好的解決方法是使用泛型。

13、代碼格式:普通的縮進(jìn)可以考慮vs自帶的快捷功能,快捷操作為 Ctrl+E+D,對(duì)于一行代碼的長(zhǎng)度最好是不要超過(guò)80個(gè)英文字母(普通A4紙的寬度)

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:新人的編程習(xí)慣與原則:代碼是寫(xiě)給人看的
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)