Description
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice - about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers will learn
* What it means to behave as a true software craftsman
* How to deal with conflict, tight schedules, and unreasonable managers
* How to get into the flow of coding, and get past writer's block
* How to handle unrelenting pressure and avoid burnout
* How to combine enduring attitudes with new development paradigms
* How to manage your time, and avoid blind alleys, marshes, bogs, and swamps
* How to foster environments where programmers and teams can thrive
* When to say No - and how to say it
* When to say Yes - and what yes really means
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them - and earn the pride and fulfillment that they alone possess.
Contents :
Foreword xiii
Preface xix
Acknowledgments xxiii
About the Author xxix
On the Cover xxxi
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 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
Published
31 May 2011
Publisher
PRENTICE-HALL
ISBN
9780137081073
Pages
210




Static Book Details Index Page - Click Here to go to Computer Manuals Website