编写可维护软件的十大原则

编写可维护软件,可以提高软件开发效率,降低开发和维护成本。而要实现这一目标,软件开发人员应当遵守以下10大原则:

  1. 编写短小的代码单元

这里的代码单元,指的是方法或函数。

短小的代码单元(一个经验法则是一个代码单元规模不超过15行),可读性好,易于分析、测试和重用,因此可维护性好。

  1. 编写简单的代码单元

这里的“简单”,指的是拥有更少的决策点(一个经验法则是一个代码单元分支不超过4个)。简单的代码单元,同样易于分析和测试。

  1. 不写重复代码

编写代码应当避免复制粘贴已有的代码。因为一旦对代码重复使用,在修改时就需要对每行代码进行修改,如果稍有疏忽,遗漏了部分重复代码,就会给软件带来Bug。而且重复代码也是回归测试产生Bug的一个来源。重复的代码应尽量即将起提取到一个方法中来。

  1. 保持代码单元的接口简单

这里的代码单元接口实际上指的是代码单元的参数(一个经验法则是一个代码单元参数不超过4个)。含有更少参数的代码单元易于测试和重用。

  1. 分离模块之间的关注点

这里的“模块之间的关注点”指的是模块间的耦合程度,分离模块之间的关注点就是要使得模块要高内聚松耦合。松耦合的模块更易于修改,也利于构建更加模块化的系统。

  1. 架构组件松耦合

这里的“架构组件”强调的是软件的顶层(高层级)组件。一个组件是由一个或多个模块组成的。软件的顶层组件之间越是松偶合越易于修改,也利于构建更加模块化的系统。

  1. 保持架构组件之间的平衡

组件之间的平衡有三层意思:一是同一层级的组件数量不会太多也不会太少(一个经验法则是组件数量不超过9个);二是同一层级的组件规模相差无几;三是各组件是松耦合的。一个平衡度很好的架构可以使得修改更加容易。

  1. 保持小规模源代码

应尽可能使得最终软件的源代码规模小。软件源代码规模越大越难以维护,因为需要分析、修改、测试更多的代码,而且效率也比小规模的源代码低得多。

  1. 自动化开发部署和测试

自动化测试可以对修改的有效性得到及时的反馈,它的高效是手工测试无法比拟的。而且自动化测试可以有效地提高开发效率,降低开发过程中遗留的Bug数量。

  1. 编写简洁的代码

代码中存在的无用代码和注释越多,就会给维护人员阅读和理解代码带来越大的障碍,从而影响维护工作的效率。

这正是:

软件追求可维护,十个原则要遵守

别人经验要汲取,自己软件质量优

参考书目:代码不朽:编写可维护软件的十大要则,作者:(荷兰)约斯特·维瑟,译者:张若飞,出版社:电子工业出版社


作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

发表评论

登录后才能评论
服务中心
服务中心
联系客服
联系客服
返回顶部