Enter your mobile number 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.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Clean Code: A Handbook of Agile Software Craftsmanship 1st Edition

4.5 out of 5 stars 297 customer reviews
ISBN-13: 978-0132350884
ISBN-10: 0132350882
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Trade in your item
Get a $12.13
Gift Card.
Have one to sell? Sell on Amazon
Rent On clicking this link, a new layer will be open
$19.95 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$28.66 On clicking this link, a new layer will be open
More Buying Choices
58 New from $25.00 55 Used from $23.98
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Windows10ForDummiesVideo
Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
$28.66 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Clean Code: A Handbook of Agile Software Craftsmanship
  • +
  • The Pragmatic Programmer: From Journeyman to Master
  • +
  • Code Complete: A Practical Handbook of Software Construction, Second Edition
Total price: $99.29
Buy the selected items together

Editorial Reviews

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 codeHow to write good code and how to transform bad code into good codeHow to create good names, good functions, good objects, and good classesHow to format code for maximum readabilityHow to implement complete error handling without obscuring code logicHow to unit test and practice test-driven developmentThis 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.
NO_CONTENT_IN_FEATURE

New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Paperback: 464 pages
  • Publisher: Prentice Hall; 1 edition (August 11, 2008)
  • Language: English
  • ISBN-10: 0132350882
  • ISBN-13: 978-0132350884
  • Product Dimensions: 6.9 x 1.1 x 9.1 inches
  • Shipping Weight: 1.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (297 customer reviews)
  • Amazon Best Sellers Rank: #3,015 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By Edelmiro Fuentes on September 23, 2008
Format: Paperback Verified Purchase
When you do code maintenance, you can really "love" or "hate" a person that you do not even know just by the code he or she has written. Messy code almost always goes hand in hand with lower productivity, lower motivation, and a higher number of bugs. In the first chapter, Robert C. Martin presents in a very instructive way, the opinion from very well-known personalities about what "clean code" is, and also suggests we apply the Boy Scout Rule (Leave the campground cleaner that you found it) to our code. The following chapters present practical advice about how to do this cleaning (or even better, how to avoid the mess in the first place).

The suggestions presented in the book (meaningful names, pertinence of comments, code formatting, etc) may sound very familiar to any experienced programmer but they are presented with such a level of detail and with very illustrative examples that it is almost impossible not to learn valuable things chapter by chapter. All the examples are in Java, but the guidelines they illustrate can be applied, in most of the cases, to other languages.

The most challenging chapter to read (but also a very valuable one) was the Refactoring of the class SerialDate (from the JCommon library). It is a real-life example and the author shows step-by-step what it takes to do refactoring. The last chapter, "Smells and Heuristics" makes a very good closure presenting in categories and in a condensed way, potential problems and suggested ways to solve/mitigate them.

I enjoyed reading this book and after finishing it, I decided to apply the Boy Scout Rule. I took a module written in a procedural language and not only managed to improve the clarity of the code, but also reduced the number of lines from more than 1,100 to 650. The next person to touch this code will certainly be happy to deal with cleaner code!
10 Comments 163 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
In response to the "Don't get the Kindle version" review -- the problems appear to be resolved now. It looks fine on my Kindle 3 (aside from using proportional fonts in code examples, but this isn't too bad once you get used to it). Also, as many other reviewers have pointed out, this is an excellent book. I really wish all of my colleagues, predecessors, and managers had read it. My job would be so much easier and more enjoyable if they had.
Comment 74 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
When most people hear the term "bad writing" they understand the term: Confusing, inconsistent, rambling, big words used incorrectly.

In fact, we have lots and lots of educational programs designed to teach grammar, composition, journalism, and fiction. Master's Degrees in the subject, even.

But for software development we seemed obsessed with "architecture" (whatever that means), process and patterns.

In this book, Bob Martin takes a specific stab at what good code looks like. He provides rules, examples, and even sample transformations.

It is not an easy book. If you are a new developer, you can invest a lot of time and energy into really absorbing the concepts and practicing them yourself. If you are more senior, you may disagree, you may struggle, you may toss the book in a corner and yell at it ...

But then you'll pick it back up again. And you will be a better developer for it.

One thing that I struggle with about the traditional CS cirricula is that so little attention is spent on maintenance, which is the vast majority of actual development time. This book presents an aesthetic and the skills to write maintainable code. If you teach software development, you'll want to use this book in your courses.

Student, Journeyman, Master, or Instructor - A book like this belongs on your bookshelf. Follow the advice in it, or have an explanation why not - either way you'll be a strong developer.

Of course, there are other books in this area. What struck me about this one is the quality of the writing; it is truly engaging and -- a little inspiring. That quality is so rare in technical books that I give this one five stars.
Comment 112 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: Kindle Edition Verified Purchase
[Kindle Version Review]

The one star is not a reflection of the content of the book, which is clearly a very fine treatise on coding practices, but of the fact that the Kindle version is almost impossible to read. Code samples are truncated, in a variable-width font, and have less-than and greater-than symbols missing. References in the text often refer to listings that are not closely located with that text (eg. "see Listing 4-7 on page 71" is almost impossible to find on a Kindle without single-paging).

This is a book that requires a lot of page flipping, and shouldn't be available on the Kindle unless the publisher is willing to put in some effort to address these readability issues.
39 Comments 821 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
Because I am passionate about coding, I expected to love "Clean Code", by Robert Martin. I've heard Martin speak on software development, and he is terrific. If you ever get the chance to listen to a presentation by him, do not miss it. Likewise, Martin's articles and essays are excellent, even ground-breaking. Many should be required reading for anyone who styles him or herself as a programmer, developer or software engineer.

Perhaps it was the curse of high expectations, but I found this book to be a disappointment.

The book is apparently a joint effort. Some of the chapters by other authors seemed a bit light. In particular, the only notable recommendation from chapter 11, "Systems," is to consider aspect-oriented architecture. Not only is this an unrealistic option for most developers, but for those of us not implementing application frameworks, it is probably a very bad idea. This chapter also cavalierly dismisses the strategy of lazy evaluation as a "little, convenient idiom", and should be avoided so that there can be a clear separation between construction and implementation tasks. In my experience, no one considers lazy evaluation unless forced to by circumstances (e.g., order of class initialization; performance considerations for interactive systems, etc.). Certainly separation of object creation and execution is a worthy goal, but sometimes requirements get in the way of ideals.

For the most part, Martin's specific recommendations for improving code are solid and should be followed, but there are several that strike me as wrong-headed.
Read more ›
15 Comments 85 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

Set up an Amazon Giveaway

Clean Code: A Handbook of Agile Software Craftsmanship
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Clean Code: A Handbook of Agile Software Craftsmanship