出版社: 电子工业出版社
出品方: 博文视点
副标题: 程序员的职业修养
原作名: Clean Craftsmanship: Disciplines, Standards, and Ethics
译者: 韩磊
出版年: 2022-5
页数: 372
定价: 128.00元
装帧: 平装
ISBN: 9787121432248
内容简介 · · · · · ·
鲍勃大叔因在技术人群中声名远播的Clean系列在全球圈粉无数。本书为其烫手新作,旨在为广大工程师指明一条通向匠师之路,包括饱经洗砺的敏捷技术实践,如何通过持续的努力提高专业素养,软件可用之上的目标与技能,以及如何激发团队最大潜能,等等。本书融会几本经典著作的精髓,将“整洁”方法论推向至高境界—软件开发者有责任维护世界正常运行,而“人”才是“技术”的决定者。
本书共分三部分,前两部分用实例阐释TDD在敏捷软件中的运用,以及验收测试、协同编程等常被忽视的敏捷侧面与具体策略,还探讨了颇有价值的软件设计方案相关话题;第Ⅲ部分拔地而起,直接提出十条堪称金玉良言的“规劝”,以帮助程序员成为团队基石。
本书适合所有软件开发者、测试工程师及工程类院校师生,对技术团队负责人及架构师同样大有助益。
匠艺整洁之道的创作者
· · · · · ·
-
罗伯特·C·马丁 作者
作者简介 · · · · · ·
作者 | 罗伯特 C. 马丁(鲍勃大叔)
软件开发行业领军人物,曾任C++ Report杂志主编、敏捷联盟首任主席、Object Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域的资深顾问。
1964年,年仅12岁的就已写下他的第一行代码。他自1970年起从事程序员职业。他与人合办了cleancoders.com网站,为软件开发者提供在线视频培训服务。他还创办了Uncle Bob咨询有限公司,为分布于世界各地的大公司提供软件咨询、培训和技能培养服务。同时,他也供职于芝加哥的软件咨询企业8th Light,任大匠(Master Craftsman)一职。
马丁先生在多本行业杂志上发表过数十篇文章,是各种国际性会议和行业活动讲坛上的常客。他也是cleancoders.com网站上广受赞誉的多个系列视频的创作者,也是Designi...
作者 | 罗伯特 C. 马丁(鲍勃大叔)
软件开发行业领军人物,曾任C++ Report杂志主编、敏捷联盟首任主席、Object Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域的资深顾问。
1964年,年仅12岁的就已写下他的第一行代码。他自1970年起从事程序员职业。他与人合办了cleancoders.com网站,为软件开发者提供在线视频培训服务。他还创办了Uncle Bob咨询有限公司,为分布于世界各地的大公司提供软件咨询、培训和技能培养服务。同时,他也供职于芝加哥的软件咨询企业8th Light,任大匠(Master Craftsman)一职。
马丁先生在多本行业杂志上发表过数十篇文章,是各种国际性会议和行业活动讲坛上的常客。他也是cleancoders.com网站上广受赞誉的多个系列视频的创作者,也是Designing Object-Oriented C++ Applications Using the Booch Method 以及 Jolt 获奖图书 Agile Software Development, Principles, Palterns,and Practices,Clean Code 等畅销书作者。
译者 | 韩磊
IT产品与运营专家、IT图书专业译者,译有《代码整洁之道》《梦断代码》《C#编程风格》等多部计算机图书。曾担任CSDN副总经理、《程序员》总编辑、广东二十一世纪传媒股份有限公司新媒体事业部总经理等职,现任AR初创企业亮风台广州公司总经理。
目录 · · · · · ·
第Ⅰ部分 纪律 9
极限编程 11
生命之环 11
测试驱动开发 12
重构 13
简单设计 14
协同编程 14
验收测试 15
第2章 测试驱动开发 17
概述 18
软件 20
TDD三法则 20
第四法则 28
基础知识 29
简单示例 30
栈 30
质因数 46
保龄球局 55
小结 72
第3章 高级测试驱动开发 73
排序示例一 74
排序示例二 78
卡壳 86
安排、行动、断言 94
进入BDD 95
有限状态机 96
再谈BDD 97
测试替身 98
DUMMY 100
STUB 103
SPY 106
MOCK 108
FAKE 111
TDD不确定性原理 113
伦敦派对决芝加哥派 126
确定性问题 126
伦敦派 127
芝加哥派 128
融合 128
架构 129
小结 131
第4章 设计 133
测试数据库 134
测试GUI 136
GUI输入 138
测试模式 138
专为测试创建子类 139
自励 140
HUMBLE OBJECT 140
测试设计 143
脆弱测试问题 143
一一对应 144
打破对应关系 145
VIDEO STORE 147
具体vs通用 166
转换优先顺序 167
{} → NIL(无代码→空值) 169
NIL → CONSTANT(空值→常量) 169
UNCONDITIONAL → SELECTION(无条件→条件选择) 171
VALUE → LIST(值→列表) 171
STATEMENT → RECURSION(语句→递归) 172
SELECTION → ITERATION(条件选择→遍历) 172
VALUE → MUTATED VALUE(值→改变了的值) 173
示例:斐波那契数列 173
变换模式优先顺序假设 177
小结 178
第5章 重构 179
什么是重构 180
基础工具包 181
重命名 181
方法抽取 182
变量抽取 183
字段抽取 185
魔方 199
纪律 199
测试 199
快速测试 199
打破紧密的一一对应关系 200
持续重构 200
果断重构 200
让测试始终能通过 201
留条出路 201
小结 202
第6章 简单设计 203
YAGNI 206
用测试覆盖 207
覆盖 208
渐近目标 210
设计? 210
但还有更多好处 210
充分表达 211
底层抽象 213
再论测试:问题的后半部分 214
尽量减少重复 214
意外重复 215
尺寸尽量小 216
简单设计 216
第7章 协同编程 217
第8章 验收测试 221
纪律 224
持续构建 224
第Ⅱ部分 标准 225
你的新CTO 226
第9章 生产力 227
永不交付S**T 228
成本低廉的变更适应能力 230
时刻准备着 231
稳定的生产力 232
第10章 质量 235
持续改进 236
免于恐惧 237
极致质量 238
我们不把问题留给QA 239
QA之疾 239
QA什么问题也不会发现 240
测试自动化 241
自动化测试与用户界面 241
测试用户界面 243
第11章 勇气 245
我们彼此补位 246
靠谱的预估 247
你得说不 249
持续努力学习 250
教导 251
第Ⅲ部分 操守 253
第一个程序员 254
75年 255
书呆子与救世主 259
榜样和恶棍 261
我们统治世界 262
灾难 263
誓言 265
第12章 伤害 267
首先,不造成伤害 268
对社会无害 269
对功能的损害 270
对结构无害 272
柔软 274
测试 275
最好的作品 276
使其正确 277
什么是好结构 278
艾森豪威尔矩阵 279
程序员是利益相关者 281
尽力而为 282
可重复证据 284
狄克斯特拉 284
正确性证明 285
结构化编程 288
功能分解 290
TDD 290
第13章 集成 293
小周期 294
源代码控制的历史 294
GIT 299
短周期 300
持续集成 301
分支与切换 301
持续部署 303
持续构建 304
持续改进 305
测试覆盖率 306
突变测试 306
语义稳定性 307
清理 307
创造 308
保持高生产力 308
拖慢速度的因素 309
解决注意力分散问题 311
时间管理 314
第14章 团队合作 317
组团工作 318
开放式/虚拟办公室 318
诚实和合理地预估 319
谎言 320
诚实、准确、精确 321
故事1:载体 322
故事2:pCCU 324
教训 325
准确度 325
精确度 327
汇总 329
诚实 330
尊重 332
永不停止学习 332
· · · · · · (收起)
喜欢读"匠艺整洁之道"的人也喜欢 · · · · · ·
- 敏捷整洁之道 8.9
- 编程卓越之道(卷3):软件工程化 8.5
- 修改软件的艺术 7.5
- Google软件工程 8.7
- 编程原则 7.8
- 整洁代码的艺术 9.5
- 分析模式 7.6
- 性能之巅(第2版) 9.6
匠艺整洁之道的书评 · · · · · · ( 全部 2 条 )
> 更多书评 2篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部3 )
-
Addison-Wesley Professional (2021)暂无评分 6人读过
-
电子工业出版社 (2023)暂无评分
以下书单推荐 · · · · · · ( 全部 )
- 读书向 | 编程思维相关书籍 (uge)
- 企业级IT技术 (Snake)
- ℹ️信息与计算 (地球游览者)
- 我买的计算机书 (吴上阿吉)
- 策划书籍之技术篇 (出版人侠少)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有259人想读,手里有一本闲着?
订阅关于匠艺整洁之道的评论:
feed: rss 2.0
3 有用 芳心纵火范先生 2022-05-12 21:09:48
看的书,作者想通过一个非常轻松的写作语言,向读者展示TDD,如何学习使用、帮助提升编码质量。虽然代码都是Java的,但是纸质复杂代码是在有点影响阅读。翻译也没有做到信达雅。各个章节之间看不出什么连贯性,就好像好莱坞大片中看不懂的美式幽默。
0 有用 水寂 2023-12-28 20:39:05 北京
太水了
2 有用 liuwill 2022-06-25 19:23:51
匠艺是指懂得如何做好某件事,它源自良好的纪律和大量经验。 书名如果叫测试简洁之道,我觉得一点不违和,TDD是一切纪律的根本,没有TDD和重构,很难写出简洁代码。 首先是测试驱动设计,遵循SOLID。易测试的代码本身就是解耦的,好的测试是被测代码最好的范例。 遵循简单设计原则,高层策略不关心底层细节实现,通过抽象放大本质因素,消除无关因素。 亲身实践的感受也是,需要意志、态度、从第一行代码开始严守纪... 匠艺是指懂得如何做好某件事,它源自良好的纪律和大量经验。 书名如果叫测试简洁之道,我觉得一点不违和,TDD是一切纪律的根本,没有TDD和重构,很难写出简洁代码。 首先是测试驱动设计,遵循SOLID。易测试的代码本身就是解耦的,好的测试是被测代码最好的范例。 遵循简单设计原则,高层策略不关心底层细节实现,通过抽象放大本质因素,消除无关因素。 亲身实践的感受也是,需要意志、态度、从第一行代码开始严守纪律,一刻都不能松懈。 正如作者所说,一方面是软件产品价值和结构价值的矛盾,一方面开发人员像摩尔定律一样增长,流动性和经验知识的不足是工程实践中面临的现实挑战。 我们生活在软件无处不在的世界,软件必须反脆弱,灵活稳定的运行。 程序员的匠艺应该是持续不断学习,努力创造最好的作品,无畏的改进我们所做的一切 (展开)
3 有用 出版人侠少 2022-05-07 12:45:32
没听过鲍勃大叔和韩磊的人呢,恭喜你们还很年轻:)
1 有用 嘉陵 2023-01-26 13:03:48 江苏
单元测试是软件工程中最接近道的术,最接近术的道
0 有用 黄昏之贼安灼拉 2024-05-30 23:32:38 上海
相比于前作《代码整洁之道》,这一部更关注于程序员本人而不仅仅是代码,纯技术的内容少了很多,读起来也轻松不少。全书分为纪律、标准、操守几个部分,越往后越讨论一些宏观的概念。纪律部分花了很多篇幅谈测试驱动开发和相关技巧,我确实非常认可这样能保障代码质量,但是对于测试本身能促进算法生成还是存疑,可能还是不相信算法能不由程序员设计而自然产生吧。标准和操守部分谈的话题其实比较类似,例如保持稳定生产力、改进质... 相比于前作《代码整洁之道》,这一部更关注于程序员本人而不仅仅是代码,纯技术的内容少了很多,读起来也轻松不少。全书分为纪律、标准、操守几个部分,越往后越讨论一些宏观的概念。纪律部分花了很多篇幅谈测试驱动开发和相关技巧,我确实非常认可这样能保障代码质量,但是对于测试本身能促进算法生成还是存疑,可能还是不相信算法能不由程序员设计而自然产生吧。标准和操守部分谈的话题其实比较类似,例如保持稳定生产力、改进质量、协同编程彼此补位、不伤害社会、持续集成等等。作为一本近年刚出版的新书,它字里行间流露出的,程序员对社会的关键意义,无疑是鼓舞人心的。 (展开)
0 有用 水寂 2023-12-28 20:39:05 北京
太水了
0 有用 龙在田 2023-08-14 00:52:56 广东
本书最宝贵的一点,不仅讲了软件设计的原则,还讲了这些原则的发展史。结合学科史上下文回顾软件这门科学/工程技术/行业,可以领会更多。
0 有用 杨小帆 2023-06-17 16:56:12 浙江
嗯,我承认,确实看的有些“血压升高”。之前做测开时就有接触过 TDD,但一直觉得 TDD 是一种比较理想化的开发模式,确实是一种匠人的工作方式,但总是觉得它与当前快速发展,不断迭代的软件周期有些格格不入。很多时候大家更强调的也是,先基本想清楚了再写代码,避免初期反复的调整,也因为这可能会导致开发深陷实现的细节,出现过度设计的问题。比较喜欢书中对 Mock 和 TDD 不确定性原理的分析,不得不说,... 嗯,我承认,确实看的有些“血压升高”。之前做测开时就有接触过 TDD,但一直觉得 TDD 是一种比较理想化的开发模式,确实是一种匠人的工作方式,但总是觉得它与当前快速发展,不断迭代的软件周期有些格格不入。很多时候大家更强调的也是,先基本想清楚了再写代码,避免初期反复的调整,也因为这可能会导致开发深陷实现的细节,出现过度设计的问题。比较喜欢书中对 Mock 和 TDD 不确定性原理的分析,不得不说,这是第一次去认真的审视不同的 Mock 类别。整本书聚焦在对软件开发中人的因素的讨论和思考,但读下来感觉内容还是单薄了一些,七分吧。 (展开)
0 有用 杨涛 2023-06-17 11:41:30 天津
和前几本比,稍差。