出版社: 电子工业出版社
原作名: Building Maintainable Software
译者: 张若飞
出版年: 2016-10
页数: 160
定价: 69
装帧: 平装
ISBN: 9787121297045
内容简介 · · · · · ·
人类到目前为止已经能够度量越来越多的东西,例如时间、长度等,但是在软件开发领域,我们依然很难去评估一个软件系统的质量,以及维护它的难易程度。可维护性越差,意味着开发成本越高、开发速度越慢,以及由于改动带来的缺陷也越多。在现实中,我们经常会面对代码混乱、模块紧耦合的遗留系统,持续攀升的维护难度会最终导致系统不可维护,从而推倒重来。来自软件改进组织(Software Improvement Group)的咨询师们,从大量实践项目中提取出了编写可维护软件的10个最佳原则,不仅可以用来测量软件的质量和可维护性,还可以指导我们如何编写出高质量的代码。《代码不朽:编写可维护软件的10大要则(Java版)》会一一介绍这些原则,并且提供了翔实的代码示例,能够让读者一步步了解到如何对代码进行重构,从而达到满足原则、提高可维护性。《代码不朽:编写可维护软件的10大要则(...
人类到目前为止已经能够度量越来越多的东西,例如时间、长度等,但是在软件开发领域,我们依然很难去评估一个软件系统的质量,以及维护它的难易程度。可维护性越差,意味着开发成本越高、开发速度越慢,以及由于改动带来的缺陷也越多。在现实中,我们经常会面对代码混乱、模块紧耦合的遗留系统,持续攀升的维护难度会最终导致系统不可维护,从而推倒重来。来自软件改进组织(Software Improvement Group)的咨询师们,从大量实践项目中提取出了编写可维护软件的10个最佳原则,不仅可以用来测量软件的质量和可维护性,还可以指导我们如何编写出高质量的代码。《代码不朽:编写可维护软件的10大要则(Java版)》会一一介绍这些原则,并且提供了翔实的代码示例,能够让读者一步步了解到如何对代码进行重构,从而达到满足原则、提高可维护性。《代码不朽:编写可维护软件的10大要则(Java版)》中的代码示例都采用Java语言编写,但是背后的原则也适用于使用其他语言的开发人员。
希望各位读者在阅读完本书后,能够了解和掌握如何对软件系统的质量进行评估和测量,以及如何在实践中遵循书中的原则,编写出高质量、简洁的代码,开发出松耦合、高可维护性的系统。
作者简介 · · · · · ·
Joost Visser,SIG研究负责人,掌管这家独一无二的认证软件分析实验室。这家实验室根据ISO 25010国际标准,对软件产品质量进行标准化的测量。本书汇集了SIG顾问们从2000年以来在软件质量测量和建议方面的集体智慧和经验。
译者张若飞,有十年以上IT公司从业经历的资深Java软件开发工程师,对Groovy和Grails有较深研究,曾译有《Grails权威指南》《Java EE 6开发手册·高级篇(第4版)》《写给大忙人看的Java SE 8》等书。
目录 · · · · · ·
前言 ........................................................................................... xiii
第1 章 简介 .................................................................................1
1.1 什么是可维护性? ..........................................................................................1
1.2 为什么可维护性很重要? ...............................................................................2
1.3 本书的三个基本理论 ......................................................................................4
· · · · · · (更多)
前言 ........................................................................................... xiii
第1 章 简介 .................................................................................1
1.1 什么是可维护性? ..........................................................................................1
1.2 为什么可维护性很重要? ...............................................................................2
1.3 本书的三个基本理论 ......................................................................................4
1.4 对可维护性的误解 ..........................................................................................5
1.5 评价可维护性 ..................................................................................................7
1.6 可维护性原则的概述 ......................................................................................8
第2 章 编写短小的代码单元 ........................................................11
2.1 动机 ...............................................................................................................13
2.2 如何使用本原则 ............................................................................................14
2.3 常见的反对意见 ............................................................................................21
2.4 参考 ...............................................................................................................24
第3 章 编写简单的代码单元 ........................................................27
3.1 动机 ...............................................................................................................32
3.2 如何使用本原则 ............................................................................................33
3.3 常见的反对意见 ............................................................................................37
3.4 参考 ...............................................................................................................38
第4 章 不写重复代码 ..................................................................41
4.1 动机 ...............................................................................................................45
4.2 如何使用本原则 ............................................................................................45
4.3 常见的反对意见 ............................................................................................50
4.4 参考 ...............................................................................................................52
第5 章 保持代码单元的接口简单 .................................................55
5.1 动机 ...............................................................................................................57
5.2 如何使用本原则 ............................................................................................58
5.3 常见的反对意见 ............................................................................................62
5.4 参考 ...............................................................................................................63
第6 章 分离模块之间的关注点 ....................................................65
6.1 动机 ...............................................................................................................68
6.2 如何使用本原则 ............................................................................................69
6.3 常见的反对意见 ............................................................................................72
第7 章 架构组件松耦合 ..............................................................75
7.1 动机 ...............................................................................................................76
7.2 如何使用本原则 ............................................................................................79
7.3 常见的反对意见 ............................................................................................81
7.4 参考 ...............................................................................................................82
第8 章 保持架构组件之间的平衡 .................................................85
8.1 动机 ...............................................................................................................86
8.2 如何使用本原则 ............................................................................................88
8.3 常见的反对意见 ............................................................................................89
8.4 参考 ...............................................................................................................89
第9 章 保持小规模代码库 ...........................................................93
9.1 动机 ...............................................................................................................93
9.2 如何使用本原则 ..........................................................................................96
9.3 常见的反对意见 ............................................................................................98
第10 章 自动化开发部署和测试 ................................................103
10.1 动机 ........................................................................................................... 104
10.2 如何使用本原则 ........................................................................................ 106
10.3 常见的反对意见 ........................................................................................ 114
10.4 参考 ........................................................................................................... 115
第11 章 编写简洁的代码 ...........................................................117
11.1 不留痕迹 ................................................................................................... 117
11.2 如何使用本原则 ........................................................................................ 117
11.3 常见的反对意见 ........................................................................................ 123
第12 章 后续事宜 .....................................................................125
12.1 将原则变成实践 ........................................................................................ 125
12.2 低层级(代码单元)原则要优先于高层级(组件)原则 ......................... 125
12.3 对每次提交负责 ........................................................................................ 126
12.4 下一本书会讨论开发流程的最佳实践 ...................................................... 126
附录A SIG 如何来评估可维护性 ...............................................127
索引 ..........................................................................................131
· · · · · · (收起)
喜欢读"代码不朽:编写可维护软件的10大要则(Java版)"的人也喜欢的电子书 · · · · · ·
喜欢读"代码不朽:编写可维护软件的10大要则(Java版)"的人也喜欢 · · · · · ·
代码不朽:编写可维护软件的10大要则(Java版)的书评 · · · · · · ( 全部 1 条 )
Building Maintainable Software, Java Edition
> 更多书评 1篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部2 )
-
O'Reilly Media, Inc, USA (2016)暂无评分 8人读过
以下书单推荐 · · · · · · ( 全部 )
- T (dhcn)
- 数字化抓手----EA/企业架构生命周期管理 (小毛叔)
- 技术-Java (Edward Cheng)
- 模式与代码优化 (肖文英)
- 软件工程 (EnrichYourLife)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有39人想读,手里有一本闲着?
订阅关于代码不朽:编写可维护软件的10大要则(Java版)的评论:
feed: rss 2.0
0 有用 小白白 2018-12-18 22:29:49
都是十几年前我参加工作时的铁律,挺好,值得一看,但不值票钱,翻译的有点牵强。
0 有用 enhao 2018-12-30 11:36:49
代码示例很不错 易于理解
0 有用 sunknows 2023-03-12 20:04:01 广东
每当修改代码的时候,哪怕一个函数,或者一个变量的命名,往往意味着有一次优化,重构的机会。需要认真审视,再小的变化,积小成多,也会最终造成巨大影响,并且为团队定下持续精进的基调,让软件的生命力不断被激活。
0 有用 v̶ 2019-01-26 17:24:46
2019-01-03
0 有用 小萌 2020-07-16 00:46:27
花了一个晚上翻完,道理基本都懂,大部分实践中也有在用,书的内容还不错,也比较精炼,同时还有各种问答。不过对于我来说,总体收获有限。2020-07-16@冠寓,借于浙江图书馆
0 有用 sunknows 2023-03-12 20:04:01 广东
每当修改代码的时候,哪怕一个函数,或者一个变量的命名,往往意味着有一次优化,重构的机会。需要认真审视,再小的变化,积小成多,也会最终造成巨大影响,并且为团队定下持续精进的基调,让软件的生命力不断被激活。
0 有用 夏洛特会织网 2022-09-12 16:21:14 广东
可读。虽然看了很多讲解代码规范的书籍,但依旧可以从书中得到一些启示。在某个层面上也表示我应该把我所习得的知识做一遍整理了。
0 有用 liuwill 2021-09-05 12:38:19
遵守纪律是所有原则能够实现的基础。 某种程度上即是科学,又像艺术,达到了看会很简单直接,但是如果没有达到的人,很难理解领会。有点像认知。 良好设计本身的价值,要通过产品价值流程才能实现,我觉得是软件质量难以度量的一个原因。 独立组件的前提是有架构层面的详细设计,好的架构是精心设计的结果。合理的代码组织和命名,本身就是最好的注释。 优先保障单元代码层面的质量和原则得以实现,是高层架构的基础。 任何封... 遵守纪律是所有原则能够实现的基础。 某种程度上即是科学,又像艺术,达到了看会很简单直接,但是如果没有达到的人,很难理解领会。有点像认知。 良好设计本身的价值,要通过产品价值流程才能实现,我觉得是软件质量难以度量的一个原因。 独立组件的前提是有架构层面的详细设计,好的架构是精心设计的结果。合理的代码组织和命名,本身就是最好的注释。 优先保障单元代码层面的质量和原则得以实现,是高层架构的基础。 任何封装和设计,都是有成本的,会增加更多结构性代码,设计模式和编程原则,通过增加局部的物理复杂性,降低整体的逻辑复杂性,就是优雅的架构和模式设计的价值所在。 在业务探索阶段易变的模块,最小删除成本原则,保持适度集中也是很重要的。 我觉得最基础的两个原则是简洁和分离关注点,这两个原则贯穿计算机科学的各个方面 (展开)
0 有用 小萌 2020-07-16 00:46:27
花了一个晚上翻完,道理基本都懂,大部分实践中也有在用,书的内容还不错,也比较精炼,同时还有各种问答。不过对于我来说,总体收获有限。2020-07-16@冠寓,借于浙江图书馆
0 有用 λ 2019-03-16 18:52:36
离开营地时,要让它比来时更赶紧