Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Overview

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.

What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.

Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.

Readers will come away from this book understanding

  • How to tell the difference between good and bad code

  • How to write good code and how to transform bad code into good code

  • How to create good names, good functions, good objects, and good classes

  • How to format code for maximum readability

  • How to implement complete error handling without obscuring code logic

  • How to unit test and practice test-driven development

This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

Subscriber Reviews

Average Rating: 4.493333333333333 out of 5 rating Based on 75 Ratings

"Good book with lots of useful tips" - by Gwyn on 06-MAR-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
There was quite a lot of use in this book but I was a little put off by the amount of material which was of little relevance to what I do - it felt very geared towards Java developers (I read the majority of this book but, for this reason, skimmed/skipped about 25% which was of little relevance to my goals). That said, there were certainly a good number of useful lessons contained which I will take forward.
Report as Inappropriate

"good for junior to mid level developers" - by abdsahin on 05-FEB-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
i expected more non-trivial cases covered, however most topics are merely around coding sugggestions which can help junior to mid level developers.
Report as Inappropriate

"(null)" - by (null) on 30-OCT-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
While some of the content of this book is good advice, I feel at least 50% of the book is just plain bad advice that results in hard to maintain code.
Report as Inappropriate

"Pay your technical debt as you code and beam with confidence when you look at your elegant sustainable code" - by Peter Kahn on 19-AUG-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Just as the summit marks the halfway point in your climb of Everest, working code marks the halfway point to "done." Call it done when you transform your working code into elegant sustainable tools which you and your team can leverage.

This book changed my approach to coding be it simple scripts, applications or build systems (I'm a release engineer, best job ever).  The book couples excellent advice with real world examples that drive the point home.  There's a section where the author takes readers step by step through a refactoring which cemented many techniques for me.

A very worthy read.

Report as Inappropriate

"Excellent book that covers alot very well" - by Christian M on 04-JUL-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I really liked this book as it teaches the grand scheme of things as well as the small details that makes a difference. It is very throughout with a great summary at the end. It also has alot of examples.
Report as Inappropriate

Table of Contents

 Index

View Sample

View Sample

View Sample

View Sample

View Sample

View Sample

View Sample