編程風格要素

一、代碼力爭清晰,不要自做聰明
二、清晰直接地表達你的意思
三、儘量使用庫函數
四、避免過多臨時變量
五、代碼儘可能清晰,不要犧牲可讀性換取「代碼運行效率」
六、讓機器幹髒活(我的理解爲儘可能自動化)
七、爲重複使用的表達式提取共用函數
八、使用括號避免二義性
九、使用不容易混淆的變量名
十、避免沒必要要的分支
十一、若是一個邏輯分支難以理解,嘗試轉換它
十二、選擇合適的數據表示方案使得程序簡單
1三、先寫容易讀懂的僞代碼;而後將它翻譯成你喜歡的任何編程語言
1四、模塊化:使用過程(procedures)和函數
1五、完全杜絕goto的使用,以加強代碼可讀性
1六、不要對糟糕的代碼修修補補,重寫之
1七、大塊程序的編寫和測試都宜化整爲零,逐步推動
1八、Use recursive procedures for recursively-defined data structures
1九、驗證輸入的有效性
20、確保輸入未超出程序容許的界限
2一、用eof標記終止輸入,而不是經過計數方式
2二、識別非法輸入;若是可能的話從非法輸入中恢復
2三、Make input easy to prepare and output self-explanatory
2四、使用同一的輸入格式
2五、儘可能讓輸入容易校對
2六、使用自我說明的輸入,容許默認值。輸出也如此。
2七、確保變量使用前已經被初始化
2八、不要停在一個bug上(只見樹木,不見森林?)
2九、使用方便調試的編譯器
30、提防off-by-one錯誤
3一、Take care to branch the right way on equality
3二、Be careful if a loop exits to the same place from the middle and the bottom
3三、Make sure your code does "nothing" gracefully
3四、用邊界值測試程序
3五、手工驗證一些狀況
3六、10.0乘以0.1幾乎從不等於1.0
3七、7/8等於0,而7.0/8.0不等於0
3八、不要對浮點數進行相等比較
3九、先讓程序正確,而後纔想辦法讓程序更快
40、先讓程序fail-safe(故障可恢復),而後纔想辦法讓程序更快
4一、先讓程序代碼清晰,再考慮讓程序變快
4二、不要用可讀性換取小小的「運行效率」提高
4三、讓優化器作簡單的優化
4四、Don't strain to re-use code; reorganize instead.
4五、Make sure special cases are truely special
4六、Keep it simple to make it faster
4七、Don't diddle code to make it faster, find a better algorithm
4八、Instrument your programs, measure before making "efficiency" changes
4九、註釋和代碼必須一致
50、Don't just echo the code with comments - make every comment count
5一、不要爲糟糕的代碼添加註釋做爲彌補措施,重寫之
5二、使用有意義的變量名
5三、Use statement labels that means something
5四、格式化代碼以加強可讀性
5五、用文檔記錄你的數據佈局(data layouts)
5六、不要過分註釋編程

相關文章
相關標籤/搜索