[探讨]提高代码质量的方法有哪些?

2024-11-08 02:51:29
推荐回答(3个)
回答(1):

1. 代码风格和规范:

         多看看网上的一些代码规范,仔细思考一下制定这些规范的出发点是什么。例如Oracle(前

SUN)公司的代码规范,Google的代码规范 。

2. 学习最佳实践

        在编码中遇到的各种大大小小的问题,首先不是自己去“闭门造车”的冥思苦想,多用

Google,搜搜是否已经有现成的解决方案。

3. 阅读优秀的开源代码

       网上有很多优秀的开源项目,针对你自己项目中遇到的问题,找找类似的开源项目,学习、

研究,最重要的是变成自己的东西。

4. 学好英语

        英语是目前所有编程语言的基础。你的文件名、类名、方法名、变量名都是需要一个好的英

语基础才能够起得合适。任何的业务逻辑,都需要你使用以英语为基础的计算机语言表达出来。

英语不好,你的代码永远看起来不专业。

以下介绍一些提高代码质量的书籍:

1.代码大全

       从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技

术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。

2.程序员修炼之道

      书籍涵盖的主题从个人责任、职业发展,知道用于使代码保持灵活、并且易于改编和复用的

各种架构技术。

     总结起来方法有三:平时多练手,多阅读优秀的源码,阅读优秀的编程技巧类型的书。

回答(2):

人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的。有的人,写一个小逻辑,可能需要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,修改完成后,进行详细的处理过程描述,以备今后再犯类似的错误。还有些码农认为,应该多读好的代码,比如著名开源框架的代码的写法,在保证功能、效率的基础上思考结构,回顾下自己编写的代码;反复评审代码,规范代码、改进实现方案的写法。同时还应该尽一切努力减少代码重复,将代码分解为自成体系,可测试的小块 ;最后测试,测试,再测试。当然这还需要有很强的毅力。以上这些观点,您赞同吗?

回答(3):

我最近正在教授学生有关于精益软件开发的课程。其中一个我提出的观点就是:质量免费(或者至少能变得便宜)的前提是,我们得先致力于提高质量。


下面我来讲一下如何提高代码的质量以及经验技巧。

测试驱动开发(TDD)

如果说要找一个最能提高代码质量同时还要减少bug的实践练习恐怕就非TDD莫属了。它的优点是适用于任何类型的项目和敏捷开发。其历史可以追溯到很早以前,但是直到XP的普及它才渐渐为人所知。当作为能自动化构建和测试实践的持续集成周期的一部分运作的时候,它被称为单元测试。

验收测试驱动开发(ATDD)

这是基于TDD单元测试之后的一个新的水平。这不但表明了验收标准,而且还能在开发工作开始之前自动执行开发需求。在很多情况下,需要专业测试人员和客户携手共同参与到测试中去。

持续集成(CI)

这能确保新代码不会干扰到已经存在的代码。如果再加上TDD和ATDD一起创建一个自动化、可重复的的测试套件,将会大幅度提高其使用价值。

总结:

我认为在即时的代码审查上,两个脑袋总比一个管用。它也允许开发人员将注意力全部灌注到手头的工作上——不必分心于电话、邮件、短信等等,因为我们的partner会搞定,所以可以通过以上步骤提高代码的质量。