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

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

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

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

by Robert Martin

eBook

$31.49  $41.39 Save 24% Current price is $31.49, Original price is $41.39. You Save 24%.

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

Related collections and offers


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.


Product Details

ISBN-13: 9780132542883
Publisher: Pearson Education
Publication date: 05/13/2011
Series: Robert C. Martin Series
Sold by: Barnes & Noble
Format: eBook
Pages: 256
File size: 4 MB

About 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.

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

From the B&N Reads Blog

Customer Reviews