
作者:(荷)JoostVisser著
页数:168
出版社:电子工业出版社
出版日期:2016
ISBN:9787121298981
电子书格式:pdf/epub/txt
内容简介
你有没有在修改其他人代码时感到过沮丧?如今,难以维护的代码已经成为了软件开发中一个很的大问题,导致成本高昂的延期和大量缺陷。本书从实践出发,提供了10条易于实现的原则,可以帮助你开发出可维护且灵活的软件,并且这些原则来自对成百上千个现实系统的分析。
最 编写短小的代码单元:限制方法和构造函数的长度
最 编写简单的代码单元:限制每个方法中分支点的数量
最 编写代码一次,而不是到处复制含有缺陷的代码
最 通过将接口参数提取到对象中,保持短小的代码单元接口
最 分离关注点,避免产生体积庞大的类
最 保持架构组件松耦合
最 平衡顶层组件之间的数量和大小
最 保证代码库尽可能小
最 对代码库进行自动化测试
最 编写整洁的代码,避免会反映更深层问题的“代码坏味道”
作者简介
译者张若飞,有十年以上IT公司从业经历的资深Java软件开发工程师,对Java和大型互联网、分布式系统有较深研究,曾译有《Grails权威指南》《Java EE 6开发手册·高级篇(第4版)》《写给大忙人看的Java SE 8》等书。 Joost Visser,SIG研究负责人,掌管这家独一无二的认证软件分析实验室。这家实验室根据ISO 25010国际标准,对软件产品质量进行标准化的测量。本书汇集了SIG顾问们从2000年以来在软件质量测量和建议方面的集体智慧和经验。
本书特色
人类到目前为止已经能够度量越来越多的东西,例如时间、长度等,但是在软件开发领域,我们依然很难去评估一个软件系统的质量,以及维护它的难易程度。可维护性越差,意味着开发成本越高、开发速度越慢,以及由于改动带来的缺陷也越多。在现实中,我们经常会面对代码混乱、模块紧耦合的遗留系统,持续攀升的维护难度会最终导致系统不可维护,从而推倒重来。来自软件改进组织(Software Improvement Group)的咨询师们,从大量实践项目中提取出了编写可维护软件的10个最佳原则,不仅可以用来测量软件的质量和可维护性,还可以指导我们如何编写出高质量的代码。本书会一一介绍这些原则,并且提供了翔实的代码示例,能够让读者一步步了解到如何对代码进行重构,从而达到满足原则、提高可维护性。本书中的代码示例都采用Java语言编写,但是背后的原则也适用于使用其他语言的开发人员。希望各位读者在阅读完本书后,能够了解和掌握如何对软件系统的质量进行评估和测量,以及如何在实践中遵循书中的原则,编写出高质量、简洁的代码,开发出松耦合、高可维护性的系统。
目录
前言 ………………………………………………………………………………. xiii
第 1 章 简介 ………………………………………………………………………1
1.1 什么是可维护性? ………………………………………………………………………………1
1.2 为什么可维护性很重要? …………………………………………………………………….2
1.3 本书的三个基本理论 …………………………………………………………………………..4
1.4 对可维护性的误解 ………………………………………………………………………………5
1.5 评价可维护性 ……………………………………………………………………………………..6
1.6 可维护性原则的概述 …………………………………………………………………………..8
第 2 章 编写短小的代码单元 ………………………………………………..11
2.1 动机 …………………………………………………………………………………………………14
2.2 如何使用本原则 ………………………………………………………………………………..15
2.3 常见的反对意见 ………………………………………………………………………………..22
2.4 参考 …………………………………………………………………………………………………25关于作者 …………………………………………………………………………..xi
前言 ………………………………………………………………………………. xiii
第 1 章 简介 ………………………………………………………………………1
1.1 什么是可维护性? ………………………………………………………………………………1
1.2 为什么可维护性很重要? …………………………………………………………………….2
1.3 本书的三个基本理论 …………………………………………………………………………..4
1.4 对可维护性的误解 ………………………………………………………………………………5
1.5 评价可维护性 ……………………………………………………………………………………..6
1.6 可维护性原则的概述 …………………………………………………………………………..8
第 2 章 编写短小的代码单元 ………………………………………………..11
2.1 动机 …………………………………………………………………………………………………14
2.2 如何使用本原则 ………………………………………………………………………………..15
2.3 常见的反对意见 ………………………………………………………………………………..22
2.4 参考 …………………………………………………………………………………………………25
第 3 章 编写简单的代码单元 ………………………………………………..27
3.1 动机 …………………………………………………………………………………………………33
3.2 如何使用本原则 ………………………………………………………………………………..34
3.3 常见的反对意见 ………………………………………………………………………………..39
3.4 参考 …………………………………………………………………………………………………40
第 4 章 不写重复代码 …………………………………………………………43
4.1 动机 …………………………………………………………………………………………………47
4.2 如何使用本原则 ………………………………………………………………………………..48
4.3 常见的反对意见 ………………………………………………………………………………..53
4.4 参考 …………………………………………………………………………………………………55
第 5 章 保持代码单元的接口简单 ………………………………………….57
5.1 动机 …………………………………………………………………………………………………59
5.2 如何使用本原则 ………………………………………………………………………………..60
5.3 常见的反对意见 ………………………………………………………………………………..64
5.4 参考 …………………………………………………………………………………………………65
第 6 章 分离模块之间的关注点 …………………………………………….67
6.1 动机 ………………………………………………………………………………………………….72
6.2 如何使用本原则 ………………………………………………………………………………..73
6.3 常见的反对意见 ………………………………………………………………………………..78
第 7 章 架构组件松耦合 ……………………………………………………..81
7.1 动机 …………………………………………………………………………………………………82
7.2 如何使用本原则 ………………………………………………………………………………..85
7.3 常见的反对意见 ………………………………………………………………………………..87
7.4 参考 …………………………………………………………………………………………………89
第 8 章 保持架构组件之间的平衡 ………………………………………….91
8.1 动机 …………………………………………………………………………………………………92
8.2 如何使用本原则 ………………………………………………………………………………..93
8.3 常见的反对意见 ………………………………………………………………………………..95
8.4 参考 …………………………………………………………………………………………………95
第 9 章 保持小规模代码库 …………………………………………………..99
9.1 动机 …………………………………………………………………………………………………99
9.2 如何使用本原则 ………………………………………………………………………………102
9.3 常见的反对意见 ………………………………………………………………………………104
第 10 章 自动化开发部署和测试 …………………………………………107
10.1 动机 ……………………………………………………………………………………………..109
10.2 如何使用本原则 …………………………………………………………………………….110
10.3 常见的反对意见 …………………………………………………………………………….119
10.4 参考 ……………………………………………………………………………………………..120
第 11 章 编写简洁的代码 …………………………………………………..121
11.1 不留痕迹 ………………………………………………………………………………………121
11.2 如何使用本原则 …………………………………………………………………………….122
11.3 常见的反对意见 …………………………………………………………………………….128
第 12 章 后续事宜 ……………………………………………………………131
12.1 将原则变成实践 …………………………………………………………………………….131
12.2 低层级(代码单元)原则要优先于高层级(组件)原则 …………………….131
12.3 对每次提交负责 …………………………………………………………………………….132
12.4 下一本书会讨论开发流程的最佳实践 ………………………………………………132
附录 A SIG 如何来评估可维护性 ………………………………………..133
索引 ………………………………………………………………………………137信息















