代码整洁之道:程序员的职业素养(英文版)

代码整洁之道:程序员的职业素养(英文版)
作 者: 罗伯特·C 马丁
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Robert C. Martin是***软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。他还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。除本书外,还著有《代码整洁之道》《敏捷软件开发:原则、模式和实践》等。

内容简介

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

图书目录

目 录

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