人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的。有的人,写一个小逻辑,可能需要100行,而有的人,可能仅仅需要10行。代码永远会有Bug,在这方面没有最好只有更好。高效是程序员必须作到的事情,无错是程序员一生的追求。复用、分而治之、折衷是代码哲学的基本思想。模块化与面向对象是实现高效无错代码的方法。高效无错代码需要思想与实践的不断反复。
如何做到代码高效无错,提高代码质量的方法有哪些?又有哪些经验和技巧呢?本文整理自知乎网,与开发者们一起探讨该话题。如果您有好的想法,欢迎在评论中列出。
一起来看下编程界各位大牛如何为您支招:
互联网评论员 孙立伟:
1. 代码风格和规范
多看看网上的一些代码规范,仔细思考一下制定这些规范的出发点是什么。例如Oracle(前SUN)公司的代码规范oracle.com,Google的代码规范googlecode。
2. 学习最佳实践
在编码中遇到的各种大大小小的问题,首先不是自己去“闭门造车”的冥思苦想,多用Google,搜搜是否已经有现成的解决方案。
3. 阅读优秀的开源代码
网上有很多优秀的开源项目,针对你自己项目中遇到的问题,找找类似的开源项目,学习、研究,最重要的是变成自己的东西。
4. 学好英语
英语是目前所有编程语言的基础。你的文件名、类名、方法名、变量名都是需要一个好的英语基础才能够起得合适。任何的业务逻辑,都需要你使用以英语为基础的计算机语言表达出来。英语不好,你的代码永远看起来不专业。
互联网评论员 钟声:
靠牛人带,靠代码Review,应该对初期成长很有帮助,不过受环境限制较大,可能并不是所有人都能有这种幸运。多看启发思路的书,多看开源代码,用辅助工具(lint、findbugs等),都是靠谱的答案,不过我还想补充一点,在这些标准答案背后,更重要的一点:要充分利用自己的敏感,当看着一堆需要自己负责的成品、半成品代码时,哪怕只有一点点的不爽,千万不要忍,而要勇敢地——改!大刀阔斧、大张旗鼓!
其实道理并不复杂:重复的东西可以合并,零散的逻辑可以集中。让一切保持有条不紊,只需要拆解得当。此时,那些曾经空洞的理论开始具现化,节省了思考的时间,也成为了顺手的工具。“DRY”一个词就可以说明白原则,“技术债务”一个词就可以争取到重构时间。
DSP软件程序员 冯旭辉:
1.学会模块分割是提高代码质量的关键
人的精力有限,人的经验也有限,但把问题拆分成子问题,形成一个个独立的模块,这就可以让我们的精力更加集中于某个细微的问题,无论如何,都会大大提高模块的编写质量。
2.要从一开始就养成一个良好的编码风格
比如函数的头部注释的格式,函数间的分割方式,函数组的分割方式形成固定的程式。并使用编辑器的宏功能预先做好快捷方式,需要时直接生成出来这些格式化文本。
3.需要使用CVS之类的源代码版本管理工具
每完成一个小功能改进或者bug修复就提交,这样下来,你的工作就是逐步精化。
4.使用诸如MantisBT之类的bug管理工具
对每一个出现的bug,修改完成后,进行详细的处理过程描述,以备今后再犯类似的错误。
还有些码农认为,应该多读好的代码,比如著名开源框架的代码的写法,在保证功能、效率的基础上思考结构,回顾下自己编写的代码;反复评审代码,规范代码、改进实现方案的写法。同时还应该尽一切努力减少代码重复,将代码分解为自成体系,可测试的小块 ;最后测试,测试,再测试。
当然这还需要有很强的毅力。