£30.99
  • RRP: £31.99
  • You Save: £1.00 (3%)
FREE Delivery in the UK.
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Quantity:1
Clean Code: A Handbook of... has been added to your Basket
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) Paperback – 1 Aug 2008

4.3 out of 5 stars 54 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
Paperback
"Please retry"
£30.99
£25.86 £24.18
Note: This item is eligible for click and collect. Details
Pick up your parcel at a time and place that suits you.
  • Choose from over 13,000 locations across the UK
  • Prime members get unlimited deliveries at no additional cost
How to order to an Amazon Pickup Location?
  1. Find your preferred location and add it to your address book
  2. Dispatch to this address when you check out
Learn more
£30.99 FREE Delivery in the UK. In stock. Dispatched from and sold by Amazon. Gift-wrap available.

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)
  • +
  • Code Complete: A Practical Handbook of Software Construction
Total price: £86.87
Buy the selected items together

Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your e-mail address or mobile phone number.




Product details

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 | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

4.3 out of 5 stars
Share your thoughts with other customers

Top Customer Reviews

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.
3 Comments 86 of 92 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
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 4 of 4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
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 100 of 108 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone!
1 Comment 3 of 3 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews



Feedback