The Clean Coder: A Code of Conduct for Professional Programmers / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $28.00
Usually ships in 1-2 business days
(Save 37%)
Other sellers (Paperback)
  • All (9) from $28.00   
  • New (7) from $28.00   
  • Used (2) from $30.32   

Overview

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.

Read More Show Less

Product Details

  • ISBN-13: 9780137081073
  • Publisher: Prentice Hall
  • Publication date: 5/27/2011
  • Series: Robert C. Martin Series
  • Edition number: 1
  • Pages: 256
  • Sales rank: 268,389
  • Product dimensions: 6.90 (w) x 9.10 (h) x 0.70 (d)

Meet the 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.

Read More Show Less

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

Read More Show Less

Customer Reviews

Average Rating 4.5
( 4 )
Rating Distribution

5 Star

(2)

4 Star

(1)

3 Star

(1)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 4 Customer Reviews
  • Posted October 24, 2013

    Some reviews I read from others that have read this book comment

    Some reviews I read from others that have read this book commented that the book seems fit for beginner programmers and that the experienced programmers would find the information redundant. I have a different take on this that I'd like to share.
    Mr. Martin is a recognized name in this wonderfully complex field of software engineering. He has written several books including co-authoring "Agile Principles, Patterns, and Practices in C#" which I also have. This particular agile book I never read in its entirety but would pick it up and read specific chapters at different times as needed.

    I read "The Clean Coder" cover-to-cover in 2 days and think it's fitting for both the beginner and experienced programmer. The beginner will likely stand to read the whole book cover-to-cover and not be overwhelmed with technicality. Though He/She will consume as much technical content from other sources necessary to succeed in their work, this book will broaden their canvas of seeing and understanding as relates to a bit more of the human side of the business. This greatly ties into why I also feel that this book is good for the experienced programmer.

    Those of us that consider ourselves experienced professionals should embrace the work of professionals that write about their own experiences and insights. A Code of Conduct style of writing is most welcome because the narrative either challenges or solidifies our own experiences with failure and success and inspires us to take a lead role.

    Successful projects are had by Great Teams. Professionalism, Saying No, Saying Yes, Time Management, Pressure, Collaboration, Mentoring, Apprenticeship, and Craftsmanship, are some of the topics found in this book. It's not enough for those of us that consider ourselves experienced to say that this is redundant information. Putting into practice these Code of Conduct principles will increase one's marketability and contribution to a Team that Gel's. We should embrace books like this because continuous learning and repetition solidifies and elevates our skill.

    Was this review helpful? Yes  No   Report this review
  • Posted February 15, 2013

    more from this reviewer

    Informative for beginning coders

    Informative for beginning coders, but redundant for experienced programmers. I have been coding for 20 years, parts of the book was informative but not much. Main criticism would be the author using his book to toot his own horn.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted June 28, 2012

    No text was provided for this review.

  • Anonymous

    Posted October 19, 2011

    No text was provided for this review.

Sort by: Showing all of 4 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)