The Elements of Programming Style(程式設計風格)
下文的程式設計風格規則摘錄於由McGraw Hill出版的,由Kernighan和 Plauger合著的《程式設計風格要素》一書。有Strunk和White的一引言:《程式設計風格要素》中的規則就像英語規則一樣,就算是大牛也有時候也會犯錯。然而,當這些規則被打破時,經常會為之付出代價。除非你確定這樣做能夠保證很好,當然,根據以下規則去寫程式你可能會做的更好。
1. 將程式碼寫清楚 ---- 不要寫得太“高深”讓人難懂。
2. 簡單而直接的表述您的意思。
3. 儘量使用庫函式,不要重造輪子。
4. 避免使用過多的臨時變數。
5. 將程式碼寫清晰– 不要犧牲程式碼的清晰易懂去換取高效率。
6. 讓機器來做又髒又累的工作。
7. 通過呼叫函式來避免在多處重寫一樣的程式碼。
8. 用括號去避免歧義。
9. 選擇能代表變數含義的命名。
10. 避免不必要的分支。
11. 如果一個邏輯表示式很難被理解,那就換個方式表達它。
12. 設計一種資料結構來使程式變得簡單。
13. 先用易於理解的偽碼來闡述程式思想;然後再用你使用的計算機語言將它翻譯程式程式碼。
14. 模組化。使用過程化思想和函式。
15. 如果你能夠確保程式的可讀性,不用goto語句。
16. 要修補很亂的程式碼 ---- 重寫吧。
17. 編寫並測試較小的程式碼,然後再用它們組成較大的程式。
18. 對具有遞迴性質的資料結構編寫遞迴程式碼。
19. 測試輸入驗證程式。
20. 確定輸入沒有違反程式的允許的範圍。
21. 用檔案結束識別符號結束輸入,不要用計數的方式。
22. 識別壞輸入,如有可能恢復這些輸入。
23. 要讓輸入變得簡單,輸出自明。
24. 用統一的輸入格式。
25. 要讓輸入比較容易被校對。
26. 自定義識別輸入。允許預設。對於輸出兩者皆可。
27. 確保變數在使用前得到初始化。
28. 不要一直停留在某個bug處。
29. 用消除bug的編譯器。
30. 當心off-by-one錯誤。
31. 小心平等的分支對。
32. 小心迴圈從相同的中間和底下位置推出的情況。
33. 確保程式碼的有雅。
34. 測試臨界區上的變數。
35. 某些錯誤可能需要手工查詢。
36. 0.1的十倍就是1。
37. 7/8的值為0,但7.0/8.0的值非0。
38. 不要對單獨的浮點數用相等來比較。
39. 在讓程式碼時間效率更高時確保程式碼的正確性。
40. 在讓程式碼執行時間變少時確保程式碼能夠處理異常情況。
41. 在讓程式碼執行時間變少時確保程式碼的清晰性。
42. 不要犧牲程式碼的清晰去換取少量的效率。
43. 只讓編譯器做少量的優化工作。
44. 不要負擔重寫程式碼,重新組織這些會重複寫的程式碼。
45. 確保特殊的情況確實是特殊的。
46. 儘量用簡單的方法來換取高效率。
47. 一般不用程式碼優化的方式去換取時間上的效率 ---- 用一個更好的演算法來代替程式碼優化。
48. 評估你的程式。確定更改程式能夠帶來更高的效率。
49. 確保註釋和程式程式碼的一致性。
50. 不要重複程式碼的註釋 --- 確保每個註釋都有用。
51. 不要註釋很糟糕的程式碼 ---- 重新它。
52. 讓變數名能夠代表它的用途。
53. 用標籤語句來表明程式碼段的用途。
54. 闡述一下程式,讓讀者更好的理解它。
55. 為你的變數佈局寫好文件。
56. 不要過度註釋。