编程风格要素摘录
[说明]:英语四级略过的水平的翻译,希望在令人捉急的英语阅读水平上进步。在此路懒跑的同时也会不禁地惭愧着。原文下载:《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. 不要过度注释。
T Note Over.