书籍详情
代码整洁之道:程序员的职业素养(英文版)
作者:[美] 罗伯特·C.马丁 著
出版社:人民邮电出版社
出版时间:2020-09-01
ISBN:9787115537362
定价:¥59.00
购买这本书可以去
内容简介
本书是编程大师“鲍勃大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。
作者简介
Robert C. Martin是***软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。他还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。除本书外,还著有《代码整洁之道》《敏捷软件开发:原则、模式和实践》等。
目录
目 录
Pre-Requisite Introduction / 必读引言 1
Chapter 1 Professionalism / 专业主义 7
Be Careful What You Ask For / 清楚你要什么 8
Taking Responsibility / 担当责任 8
First, Do No Harm / 首先,不行损害之事 11
Work Ethic 16
Bibliography / 参考文献 22
Chapter 2 Saying No / 说“不” 23
Adversarial Roles / 对抗角色 26
High Stakes / 高风险时刻 29
Being a “Team Player” / 要有团队精神 30
The Cost of Saying Yes / 说“是”的成本 36
Code Impossible / 如何写出好代码 41
Chapter 3 Saying Yes / 说“是” 45
A Language of Commitment / 承诺用语 47
Learning How to Say “Yes” / 学习如何说“是” 52
Conclusion / 结论 56
Chapter 4 Coding / 编码 57
Preparedness / 做好准备 58
The Flow Zone / 流态区 62
Writer’s Block / 阻塞 64
Debugging / 调试 66
Pacing Yourself / 保持节奏 69
Being Late / 进度延迟 71
Help / 帮助 73
Bibliography / 参考文献 76
Chapter 5 Test Driven Development / 测试驱动开发 77
The Jury Is In / 此事已有定论 79
The Three Laws of TDD / TDD的三项法则 79
What TDD Is Not / TDD的局限 83
Bibliography / 参考文献 84
Chapter 6 Practicing / 练习 85
Some Background on Practicing / 引子 86
The Coding Dojo / 编程柔道场 89
Broadening Your Experience / 自身经验的拓展 93
Conclusion / 结论 94
Bibliography / 参考文献 94
Chapter 7 Acceptance Testing / 验收测试 95
Communicating Requirements / 需求的沟通 95
Acceptance Tests / 验收测试 100
Conclusion / 结论 111
Chapter 8 Testing Strategies / 测试策略 113
QA Should Find Nothing / QA应该找不到任何错误 114
The Test Automation Pyramid / 自动化测试金字塔 115
Conclusion / 结论 119
Bibliography / 参考文献 119
Chapter 9 Time Management / 时间管理 121
Meetings / 会议 122
Focus-Manna / 注意力点数 127
Time Boxing and Tomatoes / 时间拆分和番茄工作法 130
Avoidance / 要避免的行为 131
Blind Alleys / 死胡同 131
Marshes, Bogs, Swamps, and Other Messes / 泥潭 132
Conclusion / 结论 133
Chapter 10 Estimation / 预估 135
What Is an Estimate / 什么是预估 138
PERT 141
Estimating Tasks / 预估任务 144
The Law of Large Numbers / 大数定律 147
Conclusion / 结论 147
Bibliography / 参考文献 148
Chapter 11 Pressure / 压力 149
Avoiding Pressure / 避免压力 151
Handling Pressure / 应对压力 153
Conclusion / 结论 155
Chapter 12 Collaboration / 协作 157
Programmers versus People / 程序员与人 159
Cerebellums / 小脑 164
Conclusion / 结论 166
Chapter 13 Teams and Projects / 团队与项目 167
Does It Blend / 只是简单混合吗 168
Conclusion / 结论 171
Bibliography / 参考文献 171
Chapter 14 Mentoring, Apprenticeship, and Craftsmanship / 辅导、学徒期与技艺 173
Degrees of Failure / 失败的学位教育 174
Mentoring / 辅导 174
Apprenticeship / 学徒期 180
Craftsmanship / 技艺 184
Conclusion / 结论 185
Appendix A Tooling / 工具 187
Tools / 工具 189
Source Code Control / 源代码控制 189
IDE/Editor / 集成开发环境/编辑器 194
Issue Tracking / 问题跟踪 196
Continuous Build / 持续构建 197
Unit Testing Tools / 单元测试工具 198
Component Testing Tools / 组件测试工具 199
Integration Testing Tools / 集成测试工具 200
UML/MDA 201
Conclusion / 结论 204
Pre-Requisite Introduction / 必读引言 1
Chapter 1 Professionalism / 专业主义 7
Be Careful What You Ask For / 清楚你要什么 8
Taking Responsibility / 担当责任 8
First, Do No Harm / 首先,不行损害之事 11
Work Ethic 16
Bibliography / 参考文献 22
Chapter 2 Saying No / 说“不” 23
Adversarial Roles / 对抗角色 26
High Stakes / 高风险时刻 29
Being a “Team Player” / 要有团队精神 30
The Cost of Saying Yes / 说“是”的成本 36
Code Impossible / 如何写出好代码 41
Chapter 3 Saying Yes / 说“是” 45
A Language of Commitment / 承诺用语 47
Learning How to Say “Yes” / 学习如何说“是” 52
Conclusion / 结论 56
Chapter 4 Coding / 编码 57
Preparedness / 做好准备 58
The Flow Zone / 流态区 62
Writer’s Block / 阻塞 64
Debugging / 调试 66
Pacing Yourself / 保持节奏 69
Being Late / 进度延迟 71
Help / 帮助 73
Bibliography / 参考文献 76
Chapter 5 Test Driven Development / 测试驱动开发 77
The Jury Is In / 此事已有定论 79
The Three Laws of TDD / TDD的三项法则 79
What TDD Is Not / TDD的局限 83
Bibliography / 参考文献 84
Chapter 6 Practicing / 练习 85
Some Background on Practicing / 引子 86
The Coding Dojo / 编程柔道场 89
Broadening Your Experience / 自身经验的拓展 93
Conclusion / 结论 94
Bibliography / 参考文献 94
Chapter 7 Acceptance Testing / 验收测试 95
Communicating Requirements / 需求的沟通 95
Acceptance Tests / 验收测试 100
Conclusion / 结论 111
Chapter 8 Testing Strategies / 测试策略 113
QA Should Find Nothing / QA应该找不到任何错误 114
The Test Automation Pyramid / 自动化测试金字塔 115
Conclusion / 结论 119
Bibliography / 参考文献 119
Chapter 9 Time Management / 时间管理 121
Meetings / 会议 122
Focus-Manna / 注意力点数 127
Time Boxing and Tomatoes / 时间拆分和番茄工作法 130
Avoidance / 要避免的行为 131
Blind Alleys / 死胡同 131
Marshes, Bogs, Swamps, and Other Messes / 泥潭 132
Conclusion / 结论 133
Chapter 10 Estimation / 预估 135
What Is an Estimate / 什么是预估 138
PERT 141
Estimating Tasks / 预估任务 144
The Law of Large Numbers / 大数定律 147
Conclusion / 结论 147
Bibliography / 参考文献 148
Chapter 11 Pressure / 压力 149
Avoiding Pressure / 避免压力 151
Handling Pressure / 应对压力 153
Conclusion / 结论 155
Chapter 12 Collaboration / 协作 157
Programmers versus People / 程序员与人 159
Cerebellums / 小脑 164
Conclusion / 结论 166
Chapter 13 Teams and Projects / 团队与项目 167
Does It Blend / 只是简单混合吗 168
Conclusion / 结论 171
Bibliography / 参考文献 171
Chapter 14 Mentoring, Apprenticeship, and Craftsmanship / 辅导、学徒期与技艺 173
Degrees of Failure / 失败的学位教育 174
Mentoring / 辅导 174
Apprenticeship / 学徒期 180
Craftsmanship / 技艺 184
Conclusion / 结论 185
Appendix A Tooling / 工具 187
Tools / 工具 189
Source Code Control / 源代码控制 189
IDE/Editor / 集成开发环境/编辑器 194
Issue Tracking / 问题跟踪 196
Continuous Build / 持续构建 197
Unit Testing Tools / 单元测试工具 198
Component Testing Tools / 组件测试工具 199
Integration Testing Tools / 集成测试工具 200
UML/MDA 201
Conclusion / 结论 204
猜您喜欢