02.19 編寫高質量代碼的十個祕訣

軟件的質量屬性

健壯 - Solid and Robust Code

簡潔 - Maintainable and Simple Code

高效 - Fast Code

簡短 - Small Code

共享 - Re-usable Code

可測試 - Testable Code

可移植 - Portable Code

集百家之長, 歸我所用 - Follow Basic Coding Style

1.代碼能夠清晰的表達你的思路

2.代碼應該具備自解釋能力,註釋代碼別是單純解釋語句,這種註釋毫無疑義

3.編碼的縮進和排版規範

4.所有的函數和變量應有他人容易理解的名字

5.將Tab鍵改用為4個空格字符

6.減少但個函數的長度,控制在50-100行以內

7.避免幻數,多使用枚舉和常量的定義

取個好名字 - Use Naming Conventions

1.採用匈牙利命名法對變量進行命名

2.名字要清晰表達含義,不要怕長

凌波微步, 未必摔跤 - Evil goto’s? Maybe Not…

1.goto的使用應該遵循原則,而不是全盤否定

2.不用寫高深晦澀的語句,不要一味追求性能忽視代碼可讀性

3.模式並不是一味正確,特定問題更需要考慮反模式

先發制人, 後發制於人- Practice Defensive Coding

1.儘量保持代碼的簡潔和簡單

2.調用其它接口和函數時候首先對返回值進行檢查

3.避免有符號/無符號,32位/16位,被零除等誤算情況

見招拆招, 滴水不漏 - Handle The Error Cases: They Will Occur!

1.通過異常處理機制來保證程序代碼的健壯性

2.異常處理中一定要注意資源的釋放

3.異常處理要關注日誌的詳細記錄,便於後續BUG分析

4.不用把後臺編碼或系統異常直接拋給用戶

熟習劍法刀術, 所向無敵 - Learn Win32 API Seriously

1.Win32 API是微軟平臺編程根本

2.對系統強大的公用類庫的熟悉和整理將事半功倍

雙手互搏, 無堅不摧 - Test, but don’t stop there

1.如果你沒有進行測試,你完成的代碼將僅僅是個半成品

2.儘可能多的對自己的代碼進行測試

3.編碼人員應該更專注於白盒測試和單元測試

4.要善於使用JUnit,NUnit,PureCoverage,Compuware,NCover等測試工具

5.相互間的Review和走查是對代碼可維護性的重要測試手段

6.有特殊性能要求時候需要對相關功能或模塊單獨進行性能測試

活用段言 - Use, don’t abuse, assertions

1.斷言可以很好的描述假設和不可能的情況

2.斷言對程序Debug很有用,可以儘早的發現程序問題

草木皆兵, 不可大意 - Avoid Assumptions

1.考慮到用戶使用的各種場景

2.不用假設用戶會正確輸入數據,要做好各種完整性和邊界的檢驗

3.程序中70%左右代碼是為了保證這種完整性服務的,正常條件下功能可能30%代碼就實現了

最高境界, 無招勝有招 - Stop writing so much code

1.一味拷貝粘貼代碼就是在製造拷貝BUG,這種代碼對系統無任何意義

2.編碼過程注意重用,函數級->組件級->系統級

3.通過重構持續改進代碼質量,改進自我邏輯思維

最後總結下:

1.養成良好編碼習慣,你面試的一小段代碼可能就足一展現你全部陋習。

2.熟練使用好各種輔助工具,但不要全部依賴工具,最主要是學習分析和設計的思考方式

3.注重單元測試,關注程序性能,可維護性,可測試性是編碼技能提升重要手段

4.通過重構使編碼過程形成完整閉環的反饋迴路,重構能力可以很好體現自己的設計能力

5.養成良好習慣,形成自己的編碼過程檢查單,多請教老員工可能事半功倍。


分享到:


相關文章: