Clean Code: A Handbook of Agile Software Craftsmanship and over 2 million other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
Trade in Yours
For a 9.85 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Clean Code: A Handbook of Agile Software Craftsmanship on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) [Paperback]

Robert C. Martin
4.2 out of 5 stars  See all reviews (38 customer reviews)
RRP: 31.99
Price: 23.99 & FREE Delivery in the UK. Details
You Save: 8.00 (25%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Tuesday, 22 April? Choose Express delivery at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition 15.95  
Paperback 23.99  
Trade In this Item for up to 9.85
Trade in Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) for an Amazon.co.uk gift card of up to 9.85, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

1 Aug 2008 0132350882 978-0132350884 1
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.


Frequently Bought Together

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) + The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin) + The Pragmatic Programmer
Price For All Three: 70.42

Buy the selected items together


Product details

  • Paperback: 464 pages
  • Publisher: Prentice Hall; 1 edition (1 Aug 2008)
  • Language: English
  • ISBN-10: 0132350882
  • ISBN-13: 978-0132350884
  • Product Dimensions: 6.9 x 9.2 x 0.9 cm
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (38 customer reviews)
  • Amazon Bestsellers Rank: 7,752 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

From the Back Cover

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.

About the Author

Robert C. “Uncle Bob” Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor, Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, C#, Ruby, OO, Design Patterns, UML, Agile Methodologies, and eXtreme programming.

Inside This Book (Learn More)
First Sentence
You are reading this book for two reasons. Read the first page
Browse Sample Pages
Front Cover | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

Most Helpful Customer Reviews
69 of 74 people found the following review helpful
4.0 out of 5 stars Book title needs refactoring 27 Oct 2008
By Mr. D. N. Sumption VINE VOICE
Format:Paperback|Verified Purchase
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".

Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.

I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.

That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
Was this review helpful to you?
74 of 81 people found the following review helpful
2.0 out of 5 stars Scattergun list of pet peeves 31 Dec 2009
Format:Paperback
This book is best described as a list of "pet peeves" by the authors. I stress that this book is mainly written by a collection of authors - and not Robert C. Martin - because this is not stated in any promotional material and appears as an unwelcome surprise in the introduction of many chapters.

The first chapter pledges a lot and is very motivational - continuing the promise of the back cover "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." However, for the remainder of the book, the authors never quite get out of their individual rants and fail to provide any great insights beyond the obvious - concluding with a collection of scattergun practices that are more elegantly described in other books.

The value of the second part of the book - described as "several case studies of increasing complexity" - is not particularly evident. I found the Arg (first) and SerialDate (last) cases to be needlessly long. Everything there could be described in isolation. I had expected the second part of the book to be left as a series of short examples for the reader to work on - in the style of Java Puzzlers - but alas, it was a tour of some recent open source contributions that the author wishes to share with the reader.

The section on Concurrency was particularly shocking. The author appears completely oblivious to "Java Concurrency in Practice" by Doug Lea - discussing the 1999 predecessor by introducing it alongside a derogatory statement about maturity. Not only are the concurrency chapters skin deep, but I question why these chapters even made it into this book. Further evidence that the authors set out with no specific agenda when compiling the book, and have ended up with repetitive, sweeping generalisations that deliver only wholesale value across the board.
Comment | 
Was this review helpful to you?
26 of 29 people found the following review helpful
4.0 out of 5 stars A valuable text, but needs a clean-up 30 Nov 2008
Format:Paperback
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.

The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.

The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.

Don't let the Java or proof-reading put you off though.
Was this review helpful to you?
3 of 3 people found the following review helpful
5.0 out of 5 stars Does what it says on the tin 3 May 2009
Format:Paperback|Verified Purchase
Every so often, a book comes along that codifies best practice in a way that manages to illuminate the path from where things are right now, to a better place that we'd rather be -- things like Fowler et al. Refactoring: Improving the Design of Existing Code (Object Technology Series) or the Gang of Four Design patterns : elements of reusable object-oriented software. This is one of those books. And if much of the material is the sort that seems obvious in hindsight -- well, that is the mark of a well written book, to make the concepts that clear.

Taking a series of real world examples -- open source projects with significant user bases, including FitNesse and JUnit -- a series of worked examples take us from good, or at least adequate, code, to a form which is better factored, and easier to read, with the steps along the way clearly marked. Yes, even some of Kent Beck's code is put under the microscope, and carefully polished that extra stage or two more.

The reader is cautioned that, without working long hours to follow these examples, this will be just another of those feel-good books. I don't quite agree -- spending just a little time to follow the transformations, and then reflecting on one's own outpourings should be enough to make this a feel-bad book. All the sins from obscurely named variables to sprawling functions that gaily mix abstraction levels, we've all done them (especially programming in FORTRAN on minicomputers with slow stacks and a rule of thumb that 1 call ~ 40 loc in terms of performance).
Read more ›
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
2.0 out of 5 stars Worrying
Experienced coders will recognise lots of good and sensible advice in this book, unfortunately, despite being a book that emphasises readability and attention to detail, poor... Read more
Published 17 days ago by Paul Smith
5.0 out of 5 stars Succinct General Coding Guidance
Very readable, easily digested guidance. If you've ever watch the Uncle Bob videos you'll enjoy this book. Read more
Published 1 month ago by marcus
5.0 out of 5 stars Hands on experience from a professional
Experience is the most important feature for a software engineer, but it might take years to build. This book gives you a practical approach on how to face every day problems, so... Read more
Published 2 months ago by Dimitris Klimis
5.0 out of 5 stars Fantastic
This is a must read book for any level developer.

I am a junior dev and it is fantastic. I would say most of it seemed like common sense but won't until someone points... Read more
Published 5 months ago by Mikejs22
5.0 out of 5 stars Must-have
Every programmer who wants to be considered a good one should read this book. It's sometimes not easy to make the software work, but maintaining ugly code is simply impossible. Read more
Published 5 months ago by Karol
5.0 out of 5 stars Excellent book
Excellent, definitely a must-read book for those who will improve quality of code. You learn something new each time you read it again.
Published 11 months ago by JS
2.0 out of 5 stars Good for junior developers
If you have 7+ years of java development dont buy it.

This book was highly recommended to me. Read more
Published 13 months ago by W. G. Edwards
5.0 out of 5 stars Love this book
Awesome book. I have read this book atleast 3 times. Absolute fan of Robert C. Martin. Highly recommend this this book for everyone who thinks they are professional software... Read more
Published 16 months ago by AK
4.0 out of 5 stars Great Book. A must have for software engineers
I have recently bought this book and i have to say that is a must have for every software developer, experienced or novice. Read more
Published 16 months ago by Nikos Katsanos
5.0 out of 5 stars Do YOU know what 5280 means?
I cannot recommend this book - I'm giving 5 stars so you actually read this review and are not taken in by the inexperienced twits who think a book about coding style is as... Read more
Published 17 months ago by DG
Search Customer Reviews
Only search this product's reviews
ARRAY(0xa28109e4)

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category


Feedback