编写可维护软件的10大要则(Building Maintainable Software)之一 ————编写短小的代码

任何人都能编写计算机能够理解的代码,而好的程序员编写人能理解的代码。——Martin Fowler

在未学习过软件测试之前,我一直是随心所欲的编写自己的代码,力求实现功能就好了,但是学习了一部分的软件测试之后,才发现之前的做法是十分无知和愚蠢的。一个复杂的方法(函数)是非常难以进行测试的,而一个优秀的程序员,也应该是一个合格的软件测试人员。倘若你从不在动手编写之前,想过如何测试自己的代码,那么你可能真的在当一个KuBi的码农了,因为当你回头修改和维护之前的代码时,一个逻辑复杂,功能凌乱,多大上百行的方法(函数)就足以放你望而生畏!

 

原则:

  • 代码单元的长度限制在15行以内。(当然不包括注释信息在内,不建议写注释信息)
  • 如果超过15行,请将长的单元分解成多个短小的单元。
  • 因为短小的代码单元利于理解,测试和重用

在Java中代码单元指的就是方法或者构造函数。

首先让我们来想一下吧,一个包含了四个功能的方法在出现BUG时容易修改,还是一个只包含了一个功能的方法在出现BUG时容易修改的?答案是显而易见的。过长的代码和复杂的功能不利于理解,而人同时可以关注的元素一般也就是7个左右,你一定有过读很长很臭的代码的时候,想想那时的痛苦,你就会更加理解为什么要控制一个方法中代码的长度了。

 

合格的方法可能像一篇记叙文,而一个优秀的方法像散文或者诗。

在方法中,尽量不要书写注释,想想你为什么要写注释吧,可能就是把代码写的太复杂了,增加了理解难度。而简短的方法可以直接使用方法名来代替注释,想想是这么回事哦!

当然,将复杂的方法拆分成了几个简单的方法,会再一定程度上增加代码库整体的规模,不过这样做是值得的,我们在后面的文章中会继续讨论这个问题。

使代码短小的方法:

  1. 方法提取。将单元中处理不同业务的语句块提取出来,构造成新的方法。
  2. 对象替换。将语句块提取出来,为其构造一个类。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页