The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin)

The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin)


Yazar Robert C. Martin
Yayınevi Pearson Education
ISBN 9780137081073
Baskı yılı 2011
Sayfa sayısı 256
Ağırlık 0.41 kg
Edisyon 1
Stok durumu Tükendi   

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 advicea??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.< /P>

?

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 writera??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 a? ?Noa??a??and how to say it
  • When to say a??Yesa??a??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 isna??t written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of thema??and earn the pride and fulfillment that they alone possess.

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 Writers 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