Clean Code: A Handbook of Agile Software Craftsmanship
My rating:
didn't like it it was ok liked it really liked it it was amazing
add to my books

Clean Code: A Handbook of Agile Software Craftsmanship

4.31 of 5 stars 4.31  ·  rating details  ·  500 ratings  ·  68 reviews

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

...more
Paperback, 434 pages
Published August 1st 2008 by Prentice Hall PTR (first published January 1st 2007)
more details... edit details
There is a good chance some of your friends read this book. Sign in to see!
sign in »

Friend Reviews

To see what your friends thought of this book, please sign up.
The  C Programming Language by Brian W. KernighanThe Pragmatic Programmer by Andrew HuntDesign Patterns by Erich GammaStructure and Interpretation of Computer Programs by Harold AbelsonRefactoring by Martin Fowler
Essential Programming Books
23rd out of 58 books — 89 voters
The Pragmatic Programmer by Andrew HuntCode Complete by Steve McConnellPragmatic Thinking and Learning by Andy HuntThe Passionate Programmer by Chad FowlerRefactoring by Martin Fowler
Software Craftsmanship
7th out of 18 books — 21 voters


More lists with this book...

Community Reviews

(showing 1-30 of 1,250)
filter  |  sort: default (?)  |  rating details
Vladimir
Vladimir rated it 4 of 5 stars
Shelves: swe
This book makes some very good points, sometimes taking them to extreme ("Never write functions longer than 15 lines! Never write functions with more than three arguments!"). Some of these points were quite new and useful for me - YMMV. It's too Java-specific in a few places, and reading the last refactoring chapter on a kindle was quite a challenge, but otherwise it was well worth a read. At least I got a clear picture of how I want to refactor a big piece of my current project after ...more
Francis Fish
The first half of this book is well worth a read. Then I was reminded of Martin Fowler's (I think) comment that the original Design Patterns Elements of Reusable Software book was a response to the limitations of C++. It dovetailed so well into Java because Java has a lot of the same annoying limitations, and in some ways is even harder.

The latter section of the book contains some worked examples that I didn't always agree with because they seemed to be totally over done. A lot of th...more
David Workman
There is a lot of useful information in this book, giving a very good description of clean code and how to achieve it in your own projects. It backs this up with lots of worked examples and a partial catalogue of heuristics and code smells to look out for in your own code as indicators of code that's starting to get (or is extremely) dirty.

It just missed out on a 5 star rating in my mind because of a couple of shortcomings. First, its chapter on concurrency is a bit hazy and vague on...more
Rodhilton Hilton
There is a movement brewing in the world of professional software development. This movement is concerned not merely with writing functional, correct code, but also on writing good code. Taking pride in code. This movement is the Software Craftsmanship movement, and one of the people near the head of this movement is Robert C. Martin, also known as Uncle Bob.

His book "Clean Code" is, in many ways, an introduction to the concept of Software Craftsmanship and a guide for d...more
Jesper Benson
This book is basically split in to two things: organizing your code so that it’s easy to read and following “good” OO practices. A great deal of the information presented in Clean Code is Robert C. Martin's personal preference, he’s very upfront about that, and what he has to say throughout the book makes a lot of sense.
The first part of the book makes it seem like writing clean code is relatively simple:

Use unambiguous names for variables and methods.
Comments should say th...more
Algirdas Raščius
There is nothing particularly new in this book. It just discusses how to write "clean code" — the code that is really easy to understand and maintain. Nevertheless this book is worth reading just to remind you another time how important "clean code" is!

This book provides lots of concrete advice how to make your code "cleaner". It discusses importance of proper naming, code formatting and testing. It stresses importance of constant refactoring and provides...more
gargamelscat
gargamelscat rated it 3 of 5 stars
Shelves: compsci, 2010
This served as a useful refresher for good programming style. The sad thing is that these are items I should have forefront in my mind while coding but in recent years I've been too content to just get the program working and move on.

As I work mostly with legacy code lacking unit tests it does reinforce the necessity of creating unit tests to support radical refactoring.

It does this without the unpleasant dogmatic harangue that I see from a number of Agile pushers which, ...more
Graham
Graham rated it 3 of 5 stars
Shelves: computer-books
A decent book that I found to be mostly review, and longer than it needed to be. All the obvious suggestions were included such as use short classes and methods, intention revealing names, etc. but there were a few principles that stood out. First is limiting constructor and method arguments to no more than four and preferably none. Next greenfield project I start, I am going to try and enforce this at the build level and see how it affects the design. Next is extracting methods/classes when...more
Max
Max rated it 5 of 5 stars
Excellent book on keeping you code clean. The only disagreement I had was with how far he took some of the refactoring, I don't think 20 methods with one line of code is easier to read than 5 methods with 4 lines of code. They really emphasized getting down to these tiny (3-5 line) methods which, in practicality doesn't always work.

Overall, well organized and good arguments and examples (it does get a little hard to follow the examples by flipping pages around, but it is worth it to ...more
Alessandro Pellizzari
Ottima raccolta di consgli e best practice per la programmazione con qualsiasi linguaggio, anche se tutti gli esempi sono in Java. Le prime 200 pagine dicono già tutto, mentre le successive sono esempi di refactoring seguendo le regole esposte e ripetizione delle stesse con parole diverse. Le appendici (lunghissime) approfondiscono la programmazione multithread e presentano un esempio di libreria rifattorizzata. Alcune delle pratiche consigliate possono risultare opinabili con linguaggi diversi...more
Kosala Nuwan Perera
I had a tough time deciding whether I really liked or It was amazing. I liked the writing style of the book. Its simple, clean, and well crafted.

First few chapters of the book makes good practical advice from naming variables-functions-classes to writing functions to testing. Most of the smells and heuristics I found in these chapters can be found in real-world as well.

Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build, and t
...more
Karol Stosiek
Although it's not rare that I underestimate the value of these kind of books, I must say that this one was definitely worth reading. Each point and thesis justified by clear examples, simple reasoning and experience of the author make it both easy to understand (and, luckily, keep yourself from thinking about the authour being a fanatic) the origin of each suggestion and compare your own experience with writing good code. This is a must-read for everybody who aims to be a professional coder. If ...more
Giuseppe Pizzimenti
anche se l'autore principale incute un certo (e giustificato!) timore reverenziale, la lettura si è rivelata scorrevolissima; i concetti espressi , che coprono pressoché tutti gli aspetti della scrittura del codice, si mantengono sempre pratici ed è possibile ricavare ottimi spunti qualunque sia il proprio livello tecnico
Antti Karanta
This is something every programmer should read! Only four stars due to the Java-bias, but that is understandable from commercial point of view. Unfortunately it limits the audience somewhat - c#:rs, rubyists, c++:ers and others should read this also but may reject it because of the Java code samples.
Xavier Shay
Must read for any programmer. The epic refactors would have worked better as screencasts but were still useful. I found myself nodding in agreement a lot thinking "yep I know this" but I am applying it all much better now. It put me in a really good state of mind.

Also, so glad I don't use java anymore.
Alex Marie
This book was a good summary of many of the basic principles that I have learned throughout my first two years as a software engineer and I would recommend it to anyone new to the field.

I like they way Martin emphasizes minimal function size: "The first rule of functions is that they should be small. The second rule is that they should be smaller than that") as well as the fewest number of arguments possible in both methods and constructors.

One thing to note i...more
Tom
Tom rated it 3 of 5 stars
Shelves: nonfiction, tech
This book is repetitive at times and mentions content already covered in some of the other books in the Robert C. Martin series. I think part of this repetition is due to many of the chapters being authored by different writers, which also occasionally prevents the book from flowing smoothly.

The book is a quick read and raises some interesting arguments on how code should be written. However, if you've read other books in the Robert C. Martin series, you might skip this one. Or if...more
Brian Humphrey
Extremely useful. All developers should listen when a successful tenured developer speaks. The lessons they have learned were learned the hardway. Maybe, they can save you some pain. Biggest take-aways; Red-Green-Refactor, Boy Scout rule, code should be readable.

Richard
Richard rated it 5 of 5 stars
Recommends it for: programmers
Definitely going to have to buy this one. Also, I'm looking forward to reading his update and "sequel", The Clean Coder: A Code of Conduct for Professional Programmers when it is released. A must for anyone programming or interested in programming.
Waylon Martinez
Great book, good starting point for beginner programmers. Examples are mainly in Java. I read this after I read the PPP book and felt like I should have read it the other way around. But a good book either way.
Jeroen
Jeroen rated it 4 of 5 stars
Recommends it for: Java Developers
Shelves: work
Long book to tell: Write a rough draft of code that works together with the tests, then make it better with short methods, a clear intent, a single responsibility per class, ...
There is also a part about concurrency in there which is interesting but doesn't fit with the main theme of the book.
Still a nice book which learns you a couple of things to be a better programmer.
Wes Freeman
For a software engineer of any level, this book has a lot of great ideas to make your code more readable and maintainable. The Elements of Style for programming languages. I wish I had discovered it earlier.
Abraao Lourenco
This should be required reading for every software developer: how to write maintainable, well designed software. Contains concrete advice, examples, and a case study.
Craig Vermeer
Craig Vermeer rated it 5 of 5 stars
Shelves: tech
This had lots of good, practical advice that spanned everything from naming to testing to concurrency. A lot of it was pretty Java centric, so I skimmed a few sections.

By far the best portions of the book were the ones where the author demonstrates -- step by step -- his process for writing code test-first, as well as refactoring.

If you get frustrated with either of the two at times, these parts of the book are *fantastic*, because you see that even someone who's been ...more
Darren
Darren rated it 5 of 5 stars
This book is #1 on my list of books I'd recommend to other programmers. I don't know how else to elaborate on how important I think the ideas in this book are.
Ken Sodemann
The writing is clear and simple, and the points are clearly presented. I don't really think you could ask for more in a technical book.
Jonathan
Each chapter written by a different contributor, so a little disjoined in writing style, but excellent info & knowledge contained within
Alex Ott
Alex Ott rated it 3 of 5 stars
Shelves: programming
Nothing new for experienced developer...
Too Java oriented in many places. Code Complete, 2ed is better from my point of view
Timoteo Ponce
This is a 'must read' book for software developers, it contains a lot of best practices and advices that are proven to be useful.
Brian Yamabe
Great tips for writing code. This is a keeper and should be reviewed at least annually.
« previous 1 3 4 5 6 7 8 9 41 42
There are no discussion topics on this book yet. Be the first to start one »
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)
Чистый код: создание, анализ и рефакторинг (Paperback)
Czysty kod. Podręcznik dobrego programisty (Paperback)
Clean Code (ebook)
Dai Ma Zheng Jie Zhi Dao

Goodreads is Hiring Engineers!

If you like books like these and love to build cool products, we may be looking for you.
Learn more »

Readers Also Enjoyed

The Clean Coder: A Code of Conduct for Professional Programmers Agile Software Development, Principles, Patterns, and Practices Agile Principles, Patterns, and Practices in C# UML for Java Programmers UML for Java Programmers

Share This Book

Your website
Pin It
“It is not enough for code to work.” 1 person liked it
More quotes…

Avega Elevate
Avega Elevate
8 members
last activity Feb 08, 2012 01:25am
shelf: read