《编码整洁之道 专业程序员的行为准则 英文版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)马丁著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121175633
  • 页数:210 页
图书介绍:忍受各种不确定性及不间断的压力并能够获取成功的程序员有一个共通特征:他们都深度关注软件创建实践。他们都把软件看做一种工艺品。他们都是专家。在“鲍勃大叔”看来“专业”的程序员不仅应该具备专业的技能,更应该具备专业的态度,这也是本书阐述的核心。专业的态度包括如何用带着荣誉感、自尊、自豪来面对进行软件开发,如何做好并做得整洁,如何诚实地进行沟通和估算,如何透明并坦诚地面对困难做抉择,如何理解与专业知识相伴的责任。

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 79

What TDD Is Not 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 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

Index 205