人们都以为编写任何程序员都能够阅读和理解的代码是软件开发人员的固有技能。事实上只有20%的程序员具备这种能力。你所写的代码不仅要被机器理解,而且还要被人类理解。在软件开发中,代码质量应该是每个开发人员的重中之重。因此,在整个开发过程中,交付高质量的工作代码应该是每个开发人员的首要目标。
任何傻瓜都能写出计算机能够理解的代码。只有优秀的程序员能够写出人类能够理解的的代码。
— 马丁·福勒(Martin Fowler)
什么是代码质量?
代码质量松散地定义了代码在一个较长的时期内的有用性和可维护性。更正式一点来说,代码质量由一组不同的属性和需求组成,而这些属性和需求是由你的业务决定并确定了其重要性。这意味着明天可以丢弃的代码是低质量的代码。相反,那些能够从一个产品传递到另一个产品,能够进一步加以开发,甚至在确定其价值后能够开源的代码是高质量的代码。
所以,一个能被称之为“良好”质量的代码,至少应该符合以下要求
应该能够实现它应该实现的功能。
应该遵循一致的风格。
应该易于理解。
应该有良好的文档。
应该可以测试。
用代码行数来衡量编程的进度,就如同用重量来衡量飞机制造的进度一样。
——比尔·盖茨
为什么要关注代码质量?
让我来给你举个例子。每个人都喜欢读一个好故事。对于一个不懂文学的普通人来说,一个好故事就是一个容易阅读和理解的故事。伟大的作家写的书里面都有引人入胜的故事,它很容易阅读和理解。正如一个作家写出的作品必须易于阅读和理解一样,软件开发人员写出的代码也应该如此。毕竟,从某些方面来看,代码就是开发人员写的故事。
在代码质量上妥协以满足项目的最后期限可能是很诱人的,但是如果你希望你的代码能够长久存活下去,那么必须让你写出的代码满足所有代码质量标准。代码的质量决定了你是一个什么样的开发人员。可能你是一个非常好的程序员,可以在10分钟内编写出100行代码,但是你需要从可维护性的角度来构思你的代码。你能确保维护这个项目的人或你的同事理解你天才的想法吗?
此外,高质量的代码可以加快软件的长期开发速度,因为它们可以被重用,开发人员不必花那么多时间来修复旧的错误和完善代码。高质量的代码还能够使得新的项目成员更容易加入项目。所有这些反过来又可以降低技术债务。
如何提高代码质量?
既然我们已经确信代码质量是软件开发不可或缺的一部分,我相信你一定想知道如何提高代码质量?因此,我在下面列出了一些可以改进代码质量的方法:
建立版本控制和代码评审机制。
遵循持续集成流程。
制定并遵循编码规范。
运行测试。
分析错误。
衡量代码质量。
(责任编辑:代码如诗) |