Clean Coder, The: A Code of Conduct for Professional Programmers

Series
Prentice Hall
Author
Robert C. Martin  
Publisher
Pearson
Cover
Softcover
Edition
1
Language
English
Total pages
256
Pub.-date
May 2011
ISBN13
9780137081073
ISBN
0137081073
Related Titles


Product detail

Product Price CHF Available  
9780137081073
Clean Coder, The: A Code of Conduct for Professional Programmers
50.30 approx. 7-9 days

Description

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 honour, 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

Table of 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

Author

Robert C. Martin (“Uncle Bob”) has been a programmer since 1970. He is founder and president of Object Mentor, Inc., an international firm of highly experienced software developers and managers who specialize in helping companies get their projects done. Object Mentor offers process improvement consulting, object-oriented software design consulting, training, and skill development services to major corporations worldwide. Martin has published dozens of articles in various trade journals and is a regular speaker at international conferences and trade shows.

He has authored and edited many books, including:

  • Designing Object Oriented C++ Applications Using the Booch Method
  • Patterns Languages of Program Design 3
  • More C++ Gems
  • Extreme Programming in Practice
  • Agile Software Development: Principles, Patterns, and Practices
  • UML for Java Programmers
  • Clean Code

A leader in the industry of software development, Martin served for three years as editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance.

Robert is also the founder of Uncle Bob Consulting, LLC, and cofounder with his son Micah Martin of The Clean Coders LLC.

Reader Review(s)

“'Uncle Bob' Martin definitely raises the bar with his latest book. He explains his expectation for a professional programmer on management interactions, time management, pressure, on collaboration, and on the choice of tools to use. Beyond TDD and ATDD, Martin explains what every programmer who considers him- or herself a professional not only needs to know, but also needs to follow in order to make the young profession of software development grow.”

-Markus Gärtner

Senior Software Developer

it-agile GmbH

www.it-agile.de

www.shino.de

 

“Some technical books inspire and teach; some delight and amuse. Rarely does a technical book do all four of these things. Robert Martin's always have for me and The Clean Coder is no exception. Read, learn, and live the lessons in this book and you can accurately call yourself a software professional.”

-George Bullock

Senior Program Manager

Microsoft Corp.

 

“If a computer science degree had 'required reading for after you graduate,' this would be it. In the real world, your bad code doesn't vanish when the semester's over, you don't get an A for marathon coding the night before an assignment's due, and, worst of all, you have to deal with people. So, coding gurus are not necessarily professionals. The Clean Coder describes the journey to professionalism . . . and it does a remarkably entertaining job of it.”

-Jeff Overbey

University of Illinois at Urbana-Champaign

 

The Clean Coder is much more than a set of rules or guidelines. It contains hard-earned wisdom and knowledge that is normally obtained through many years of trial and error or by working as an apprentice to a master craftsman. If you call yourself a software professional, you need this book.”

-R. L. Bogetti

Lead System Designer

Baxter Healthcare

www.RLBogetti.com