如何写出好的代码

以下一些是我看书然后结合自己的一些编程经验得出的一些总结,有不妥还望及时予以指出 :)

1. 编码的目标是清晰而不是简洁

2. 在执行期获取的任何资源,必须彻底释放,不要完全指望你的”管家”,它们也不一定是可靠的

3. 需要用到通过其他函数返回的值时,务必在使用前对它们进行检查

4. 不要在多个地方重用一个临时变量,每次都创建一个新的变量,编译器会帮你解决效率问题。

5. 使用安全的数据结构。使用数据结构时,一定要考虑到溢出的问题。

6. 命名要保持前后一致性,选择一种命名约定,一直用下去

7. 避免data,value,temp,tmp,object等无意义的命名

8. 尽量保证一个文件对应一个类,避免多用途的文件。

9. 优化代码的时候一定要清晰的注释这段代码发生了哪些变化

10. 一个函数尽可能只对应一个操作,保证原子性,让其短小易于理解,我们需要的不是一个万能机器

11. 避免在代码中出现诸如34,76等不知所云的”神奇数字”以及一些字符串,为它们定义一个有名字的常量吧,如const int max_limit = 34,当你要多处用到的它们时候你将领略这个行为为你带来的美妙

12. 信息需要排序,Public信息应放在首位,Private放最后,因为用户只关心提供的Pulic信息。

13. 不要将你的重要处理埋没在层层嵌套的if语句和花括号中去,所以尽可能的避免深层的嵌套吧

14. 源文件应当以一个代码注释头做为开始,用于描述文件的内容和所属的工程项目,甚至包括版权

15. 写注释更重要的是要描述为什么要写这些,而不是这些是干什么的,因为这个应当尽量由代码自文档化。不过个人认为,当代码量很大的时候,毕竟代码是英文的,中文注释一下这一大段代码是干嘛的还是可以让以后的人更容易找到并修改,不要太频繁太罗嗦就好,my poor English……T_T

16. 当你正在为你的某个程序不得不编写大量的注释的时候,最好是停下来审视下,考虑一下是否可以更改代码或算法,让它变得更清晰一些。

17. 永远不要写模棱两可,含糊其辞的注释,要尽可能具体。

18. 在改动代码的同时,记得检查是否有与之相关的注释,不要不留心让它们成为“谎言”,所以永远相信代码而怀疑注释!

19. 一定要进行异常处理。

20. 除了要阅读技术书籍外,要匀出一部分时间去学习和试用新的工具。(恩,我现在很需要做到这一点)

21. 测试代码应当与编写代码同步进行,这样最易于修正,影响的人最少,造成的危害也最小。最好是在编写被测试的代码之前就编写好测试它的代码。

22. 在碰到一个程序故障时,在匆忙而轻率地调试程序前,最少是停下来看看故障的特征,如是什么引发了这个故障,它是否可重复,频率如何,是否与同时进行的其他活动有关。

23. 不要对浮点型变量进行是否相等的运算。

24. 当你认为你已找到一个bug的原因时,彻底地研究它以证明你是正确的,不要盲目的接受你最初的假设。

25. 如果对于一个bug,你尝试了很多方法都不管用,那么你可以尝试着对别人诉说整个问题,在这个过程中也许就会发现点什么……它可能是一直被你忽略的重要信息。

26. 在你遇到你无法解释的行为时,有节制的使用调试器。不要不停地使用调试器而不去理解你的代码是如何运行的。