代码整洁之道

代码整洁之道 pdf epub mobi txt 电子书 下载 2025

[美] Robert C. Martin
图书标签:
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
必读引言1
第1章 专业主义 7
1.1 清楚你要什么 8
1.2 担当责任 8
1.3 首先,不行损害之事 10
1.3.1 不要破坏软件功能 10
1.3.2 不要破坏结构 12
1.4 职业道德 13
1.4.1 了解你的领域 14
1.4.2 坚持学习 16
1.4.3 练习 16
1.4.4 合作 17
1.4.5 辅导 17
1.4.6 了解业务领域 17
1.4.7 与雇主/客户保持一致 18
1.4.8 谦逊 18
1.5 参考文献 18
第2章 说“不” 19
2.1 对抗角色 21
2.2 高风险时刻 24
2.3 要有团队精神 25
2.3.1 试试看 26
2.3.2 消极对抗 28
2.4 说“是”的成本 30
2.5 如何写出好代码 35
第3章 说“是” 37
3.1 承诺用语 39
3.1.1 识别“缺乏承诺”的征兆 40
3.1.2 真正的承诺听起来是怎样的 40
3.1.3 总结 43
3.2 学习如何说“是” 43
3.2.1 “试试”的另一面 43
3.2.2 坚守原则 44
3.3 结论 46
第4章 编码 47
4.1 做好准备 48
4.1.1 凌晨3点写出的代码 49
4.1.2 焦虑时写下的代码 50
4.2 流态区 51
4.2.1 音乐 52
4.2.2 中断 53
4.3 阻塞 53
4.4 调试 55
4.5 保持节奏 57
4.5.1 知道何时应该离开一会 58
4.5.2 开车回家路上 58
4.5.3 洗澡 58
4.6 进度延迟 58
4.6.1 期望 59
4.6.2 盲目冲刺 59
4.6.3 加班加点 60
4.6.4 交付失误 60
4.6.5 定义“完成” 61
4.7 帮助 61
4.7.1 帮助他人 61
4.7.2 接受他人的帮助 62
4.7.3 辅导 62
4.8 参考文献 63
第5章 测试驱动开发 65
5.1 此事已有定论 66
5.2 TDD的三项法则 67
5.3 TDD的优势 68
5.3.1 确定性 68
5.3.2 缺陷注入率 68
5.3.3 勇气 69
5.3.4 文档 69
5.3.5 设计 70
5.3.6 专业人士的选择 70
5.4 TDD的局限 70
5.5 参考文献 71
第6章 练习 73
6.1 引子 73
6.1.110的22次方 74
6.1.2 转变 75
6.2 编程柔道场 76
6.2.1 卡塔 77
6.2.2 瓦萨 78
6.2.3 自由练习 78
6.3 自身经验的拓展 79
6.3.1 开源 79
6.3.2 关于练习的职业道德 79
6.4 结论 80
6.5 参考文献 80
第7章 验收测试 81
7.1 需求的沟通 81
7.1.1 过早精细化 83
7.1.2 迟来的模糊性 83
7.2 验收测试 85
7.2.1 “完成”的定义 85
7.2.2 沟通 88
7.2.3 自动化 88
7.2.4 额外工作 89
7.2.5 验收测试什么时候写,由谁来写 90
7.2.6 开发人员的角色 90
7.2.7 测试的协商与被动推进 91
7.2.8 验收测试和单元测试 93
7.2.9 图形界面及其他复杂因素 93
7.2.10 持续集成 94
7.3 结论 95
第8章 测试策略 97
8.1 QA应该找不到任何错误 98
8.1.1 QA也是团队的一部分 98
8.1.2 需求规约定义者 98
8.1.3 特性描述者 98
8.2 自动化测试金字塔 98
8.2.1 单元测试 99
8.2.2 组件测试 100
8.2.3 集成测试 100
8.2.4 系统测试 101
8.2.5 人工探索式测试 102
8.3 结论 102
8.4 参考文献 102
第9章 时间管理 103
9.1 会议 104
9.1.1 拒绝 104
9.1.2 离席 105
9.1.3 确定议程与目标 105
9.1.4 立会 106
9.1.5 迭代计划会议 106
9.1.6 迭代回顾和DEMO展示 107
9.1.7 争论/反对 107
9.2 注意力点数 108
9.2.1 睡眠 108
9.2.2 咖啡因 108
9.2.3 恢复 109
9.2.4 肌肉注意力 109
9.2.5 输入与输出 109
9.3 时间拆分和番茄工作法 110
9.4 要避免的行为 110
9.5 死胡同 111
9.6 泥潭 111
9.7 结论 112
第10章 预估 113
10.1 什么是预估 115
10.1.1 承诺 115
10.1.2 预估 115
10.1.3 暗示性承诺 117
10.2 PERT 118
10.3 预估任务 120
10.4 大数定律 122
10.5 结论 123
10.6 参考文献 123
第11章 压力 125
11.1 避免压力 127
11.1.1 承诺 127
11.1.2 保持整洁 127
11.1.3 危机中的纪律 128
11.2 应对压力 128
11.2.1 不要惊慌失措 128
11.2.2 沟通 129
11.2.3 依靠你的纪律原则 129
11.2.4 寻求帮助 129
11.3 结论 129
第12章 协作 131
12.1 程序员与人 133
12.1.1 程序员与雇主 133
12.1.2 程序员与程序员 135
12.2 小脑 137
12.3 结论 138
第13章 团队与项目 139
13.1 只是简单混合吗 139
13.1.1 有凝聚力的团队 140
13.1.2 如何管理有凝聚力的团队 141
13.1.3 项目承包人的困境 142
13.2 结论 142
13.3 参考文献 143
第14章 辅导、学徒期与技艺 145
14.1 失败的学位教育 145
14.2 辅导 146
14.2.1 DIGI—COMPI,我的第一台计算机 146
14.2.2 高中时代的ECP—18148
14.2.3 非常规辅导 150
14.2.4 艰难的锤炼 150
14.3 学徒期 151
14.3.1 软件学徒期 152
14.3.2 现实情况 154
14.4 技艺 154
14.5 结论 155
附录 工具 157
· · · · · · (收起)

具体描述

本书是编程大师“Bob大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。

用户评价

评分

##书中的内容都很棒,对于一个程序员的要求也算是正常要求,但是译者在某些用词上简直没眼看,如果不是机翻那就是作者缺乏一些项目管理领域和个人时间管理领域的知识,甚至让我对其专业能力产生了怀疑。 比如将Affinity Estimation翻译成关联预估,这是非常基础的项目管理用词。再比如4.2流态区是什么东西?从下面的内容来看应该是“心流”,这也是常见的时间管理用词。 还有那个“1024字的磁鼓式内存”已经让我彻底怀疑作者的专业性了,先不说这里到底是byte还是bit,作为译者真的有好好读这个翻译的结果么?

评分

##书中的内容都很棒,对于一个程序员的要求也算是正常要求,但是译者在某些用词上简直没眼看,如果不是机翻那就是作者缺乏一些项目管理领域和个人时间管理领域的知识,甚至让我对其专业能力产生了怀疑。 比如将Affinity Estimation翻译成关联预估,这是非常基础的项目管理用词。再比如4.2流态区是什么东西?从下面的内容来看应该是“心流”,这也是常见的时间管理用词。 还有那个“1024字的磁鼓式内存”已经让我彻底怀疑作者的专业性了,先不说这里到底是byte还是bit,作为译者真的有好好读这个翻译的结果么?

评分

##有点失望,书中的观点有些不是太认同。总体来说,要求一个专业的coder应有的专业事情。

评分

值得一看,主要还是软件工程的一套,但不乏点睛之笔,适合粗读。但是书名翻译太强行,其实跟代码整洁没啥关系,主要讲的是如果成为一个专业负责的程序员。

评分

##技术高手就是专业人士吗?未必!这之间差着一个“职业素养”。分14个项目,对比着告诉读者,专业人士怎么做。全书没有代码,假借程序员之名,写给所有的职场人

评分

##与Bob大叔的一次促膝长谈。虽然距离看完这本书已经过去挺久了,但是对开篇提到的两点还是记忆犹新,第一是学会说不,不要抱着“试试看”的想法去评估风险,以免消耗别人对你的信任;第二是学会说是,当你给出肯定回答时,应该使用承诺用语,以确保沟通没有gap。在这两点之后,Bob大叔才开始和你谈关于编码的基础能力、测试验收、时间管理、压力应对、团队方面的心得和教训。

评分

##不认同书中的大多数观点,这本书显得过时了。猜测作者是出身于传统软件行业的老程序员?对于员工的要求过于苛刻,看问题的角度像是老板而不是程序员。关于测试,盲目追求覆盖率甚至为了测试改变程序应有的结构,我觉得是不可接受的。文中很多观点浮于表面,比如要求代码要经常改,我同意,但本质上应该保持简洁的同时应变复杂的需求。只有简单的东西才是可以被依赖的。总之,这本书一行代码都没,感觉在瞎扯。

评分

##副标题作为主标题比较准确。

评分

##感觉书还是不错,就是经验有点老了。 本书讲述了一个软件工程师作为一名专业人员应有的态度:如何工作、如何管理时间、TDD、如何预估和做出严谨的承诺(很害羞我之前和我 mentor 做出的承诺就没兑现、真是一场灾难,尤其是在开源社区,也难以预估出时间,有时候真的会麻烦别人)、处理压力和职业规划。 真希望我能延续差不多十年对软件、算法和一切硬核的东西的兴趣,努力成为一个真的开发人员。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou 等,本站所有链接都为正版商品购买链接。

© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有