Home > Store

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

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

eBook (Watermarked)

  • Your Price: $28.79
  • List Price: $35.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Also available in other formats.

Register your product to gain access to bonus material or receive a coupon.


  • Copyright 2011
  • Dimensions: 7" x 9-1/8"
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-269617-7
  • ISBN-13: 978-0-13-269617-3

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.

Sample Content

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


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership