出版社:电子工业出版社
年代:2012
定价:49.0
忍受各种不确定性及不间断的压力并能够获取成功的程序员有一个共通特征:他们都深度关注软件创建实践。他们都把软件看做一种工艺品。他们都是专家。在“鲍勃大叔”看来“专业”的程序员不仅应该具备专业的技能,更应该具备专业的态度,这也是本书阐述的核心。专业的态度包括如何用带着荣誉感、自尊、自豪来面对进行软件开发,如何做好并做得整洁,如何诚实地进行沟通和估算,如何透明并坦诚地面对困难做抉择,如何理解与专业知识相伴的责任。
Foreword xv
Preface xxi
Acknowledgments xxv
About the Author xxxi
On the Cover xxxiii
Pre-Requisite Introduction
Chapter 1 Professionalism
Be Careful What You Ask For
Taking Responsibility
First, Do No Harm
Work Ethic
Bibliography
Chapter 2 Saying No
Adversarial Roles
High Stakes
Being a “Team Player”
The Cost of Saying Yes
Code Impossible
CONTENTS
CONTENTS
Chapter 3 Saying Yes
A Language of Commitment
Learning How to Say “Yes”
Conclusion
Chapter 4 Coding
Preparedness
The Flow Zone
Writer's Block
Debugging
Pacing Yourself
Being Late
Help
Bibliography
Chapter 5 Test Driven Development
The Jury Is In
The Three Laws of TDD
What TDD Is Not
Bibliography
Chapter 6 Practicing
Some Background on Practicing
The Coding Dojo
Broadening Your Experience
Conclusion
Bibliography
Chapter 7 Acceptance Testing
Communicating Requirements
Acceptance Tests
Conclusion
Chapter 8 Testing Strategies
QA Should Find Nothing
CONTENTS
The Test Automation Pyramid
Conclusion
Bibliography
Chapter 9 Time Management
Meetings
Focus-Manna
Time Boxing and Tomatoes
Avoidance
Blind Alleys
Marshes, Bogs, Swamps, and Other Messes
Conclusion
Chapter 10 Estimation
What Is an Estimate?
PERT
Estimating Tasks
The Law of Large Numbers
Conclusion
Bibliography
Chapter 11 Pressure
Avoiding Pressure
Handling Pressure
Conclusion
Chapter 12 Collaboration
Programmers versus People
Cerebellums
Conclusion
Chapter 13 Teams and Projects
Does It Blend?
Conclusion
Bibliography
CONTENTS
Chapter 14 Mentoring, Apprenticeship, and Craftsmanship
Degrees of Failure
Mentoring
Apprenticeship
Craftsmanship
Conclusion
Appendix A Tooling
Tools
Source Code Control
IDE/Editor
Issue Tracking
Continuous Build
Unit Testing Tools
Component Testing Tools
Integration Testing Tools
UML/MDA
Conclusion
Index
从《编码整洁之道:专业程序员的行为准则(英文版)》中读者可以学到:一个真的软件专家究竟应该如何处事?如何处理冲突,安排紧张的日程,以及与不通情理的项目经理打交道?如何读懂编码的工作流,并了解前人的思路上的断点?如何面对无情的压力并避免倦怠?如何客观地对待新的开发范式?如何管理你的时间并且避免走入死胡同,陷入泥潭?如何培育可以让程序员个人以及团队茁壮成长的环境?什么时候要说“不”及如何去说?什么时候说“是”及“是”究竟意味着什么?
(美) 罗伯特·C.马丁 (Robert C. Martin) , 著
(美) 苏尼尔·卡皮尔 (Sunil Kapil) , 著
(美) 海德 (Hyde,R.) , 著
(美) 海德 (Hyde,R.) , 著
(美) 梅森 (Mason,M.) , 著
(德) 斯蒂芬·罗斯 (Stephan Roth) , 著
(美) 亨特 (Hunt,A.) , (美) 托马斯 (Thomas,D.) , 著
(美) 亨特 (Hunt,A.) , (美) 托马斯 (Thomas,D.) , 著
(美) 大卫·托马斯 (David Thomas) , (美) 安德鲁·亨特 (Andrew Hunt) , 著