07
Dec

代码不朽 - 十大可维护性原则

JAVA开发倡导的十大可维护性原则:


一、【短小的代码单元】短小的代码单元(方法和构造函数)更易于分析、测试和重用。

1.代码单元的长度应该限制在15行代码以内;

2.将长的单元分解成更短的单元


二、【简单的代码单元】拥有更少决策点的代码单元更易于分析和测试。

1.限制每个代码单元分支点的数量不超过4个;

2.将复杂的代码单元拆分成多个简单的单元


三、【不写重复代码】任何时候都应该避免源代码重复使用,因为修改时就需要对每处代码都进行修改。重复代码也是产生回归BUG(REGRESSION BUG)的一个来源。

1.不要复制代码;

2.应该编写可重用的、通用的代码,并且/或者调用已有的代码


四、【保持代码单元的接口简单】含有更少参数的代码单元(方法和构造函数)更易于测试和重用。

1.限制每个代码单元的参数不能超过4个;

2.将多个参数提取成对象


五、【分离模块之间的关注点】松耦合的模块(类)更易于修改、也利于构建更加模块化的系统。

1.避免形成大型模块,以便能达到模块之间的松耦合;

2.将不同的职责分给不同的模块,并且隐藏接口内部的实现细节


六、【架构组件松耦合】系统的顶层组件之间越是松耦合,越易于修改,也利于构建更加模块化的系统。

1.顶层组件之间应该做到松耦合;

2.尽可能减少当前模块中需要暴露给其他组件中模块的相关代码


七、【保持架构组件之间的平衡】一个平衡度很好的架构拥有不多不少的组件、统一的代码规模以及最大程度的模块化,并通过隔离关注点使得修改变得很容易。

1.需要平衡代码中顶层组件的数量和体积;

2.保持源代码中组件的数量接近于9


八、【保持小规模代码库】大型系统之所以难以维护,因为需要分析、修改并测试更多的代码。同样,大型系统中维护每一行代码的效率也比小型系统要低。

1.保持代码库规模尽可能小;

2.控制代码库的增长,并主动减少系统的代码体积;

3.功能层面控制需求蔓延、进行标准化设计;

4.技术层面不要复制粘贴代码、重构已有代码、尽量使用第三方库和拆分大型系统


九、【自动化开发部署和测试】自动化测试可以得到对修改的有效性的即时反馈。手工测试无法形成规模。

1.对代码进行自动化测试;

2.通过使用测试框架来编写自动化测试;

3.测试类型:单元测试、集成测试、端到端测试、回归测试和验收测试


十、【编写简洁的代码】代码库中存在越多的TODO、无用代码等遗留产物,新的团队就越难高效工作,从而影响维护工作效率。

1.简洁的代码是可维护的代码;

2.不应该在开发工作后留下代码坏味道(隐含着问题的代码风格):

a.不要编写单元级别的代码坏味道;

b.不要编写不好的注释;

c.不要注释代码;

d.不要保留废弃的代码;

e.不要使用过长的标识符名称;

f.不要使用魔术常量;

g.不要使用未正确处理的异常


为做到以上十项原则,相关的建议是:将原则变成实践,即遵守纪律和设定优先级;低层级原则会影响高层级原则,所以代码单元原则要高于组件原则;坚持遵守开发工作纪律,对每次提交负责。


About Me

Nothing is impossible!

Friends
倩倩的网站儿子的网站丽丽
CATEGORIES
Tags
ChatGPT四舍五入GOBeatles想像冰雪奇缘北京编程SSL证书认知障碍Docker春天行政区域名列表域名体系nginxopen_basedir思维指令编程语言程序URL网站上线域名FTP云服务器搜索引擎JSCSS网页超链接聚合内容列表元素网页构成网站的构成网站的分类网站单标签HTML第一个网页简单网页博域科技2018香山春游AJAX字体
Copyright©2022 王阳 版权所有  京ICP备14005672号-6