Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series) 1st Edition, Kindle Edition

4.5 out of 5 stars 1,372 ratings
Part of: Robert C. Martin Series (13 Books)
Flip to back Flip to front
Audible Sample Playing... Paused   You are listening to a sample of the Audible narration for this Kindle book.
Learn more
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.
Kindle App Ad
<Embed>
Buy
$26.99
Digital List Price: $39.99

Deliver to your Kindle or other device


Buy for others

Give as a gift or purchase for a team or group.Learn more

Buying and sending eBooks to others


Select quantity
Buy and send eBooks
Recipients can read on any device

Additional gift options are available when buying one eBook at a time.  Learn more


These ebooks can only be redeemed by recipients in the US. Redemption links and eBooks cannot be resold.

Quantity: 
This item has a maximum order quantity limit.
See all 4 formats and editions Hide other formats and editions
Price
New from Used from
Kindle
$26.99

6 books on antiracism to read right now
Black Lives Matter: Books to help you be antiracist.
Read now
click to open popover

Books In This Series (13 Books)

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
    Apple
  • Android
    Android
  • Windows Phone
    Windows Phone
  • Click here to download from Amazon appstore
    Android

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

kcpAppSendButton
Amazon Business : For business-only pricing, quantity discounts and FREE Shipping. Register a free business account

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.

Excerpt. © Reprinted by permission. All rights reserved.

Which door represents your code? Which door represents your team or your company? Why are we in that room? Is this just a normal code review or have we found a stream of horrible problems shortly after going live? Are we debugging in a panic, poring over code that we thought worked? Are customers leaving in droves and managers breathing down our necks? How can we make sure we wind up behind the right door when the going gets tough? The answer is: craftsmanship.

There are two parts to learning craftsmanship: knowledge and work. You must gain the knowledge of principles, patterns, practices, and heuristics that a craftsman knows, and you must also grind that knowledge into your fingers, eyes, and gut by working hard and practicing.

I can teach you the physics of riding a bicycle. Indeed, the classical mathematics is relatively straightforward. Gravity, friction, angular momentum, center of mass, and so forth, can be demonstrated with less than a page full of equations. Given those formulae I could prove to you that bicycle riding is practical and give you all the knowledge you needed to make it work. And you'd still fall down the first time you climbed on that bike.

Coding is no different. We could write down all the "feel good" principles of clean code and then trust you to do the work (in other words, let you fall down when you get on the bike), but then what kind of teachers would that make us, and what kind of student would that make you?

No. That's not the way this book is going to work.

Learning to write clean code is hard work. It requires more than just the knowledge of principles and patterns. You must sweat over it. You must practice it yourself, and watch yourself fail. You must watch others practice it and fail. You must see them stumble and retrace their steps. You must see them agonize over decisions and see the price they pay for making those decisions the wrong way.

Be prepared to work hard while reading this book. This is not a "feel good" book that you can read on an airplane and finish before you land. This book will make you work, and work hard. 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. You'll be asked to follow along as we take modules apart and put them back together again. This will take time and effort; but we think it will be worth it.

We have divided this book into three parts. The first several chapters describe the principles, patterns, and practices of writing clean code. There is quite a bit of code in these chapters, and they will be challenging to read. They'll prepare you for the second section to come. If you put the book down after reading the first section, good luck to you!

The second part of the book is the harder work. It consists of several case studies of ever-increasing complexity. Each case study is an exercise in cleaning up some code--of transforming code that has some problems into code that has fewer problems. The detail in this section is intense. You will have to flip back and forth between the narrative and the code listings. You will have to analyze and understand the code we are working with and walk through our reasoning for making each change we make. Set aside some time because this should take you days.

The third part of this book is the payoff. It is a single chapter containing a list of heuristics and smells gathered while creating the case studies. As we walked through and cleaned up the code in the case studies, we documented every reason for our actions as a heuristic or smell. We tried to understand our own reactions to the code we were reading and changing, and worked hard to capture why we felt what we felt and did what we did. The result is a knowledge base that desribes the way we think when we write, read, and clean code.

This knowledge base is of limited value if you don't do the work of carefully reading through the case studies in the second part of this book. In those case studies we have carefully annotated each change we made with forward references to the heuristics. These forward references appear in square brackets like this: H22. This lets you see the context in which those heuristics were applied and written! It is not the heuristics themselves that are so valuable, it is the relationship between those heuristics and the discrete decisions we made while cleaning up the code in the case studies.

To further help you with those relationships, we have placed a cross-reference at the end of the book that shows the page number for every forward reference. You can use it to look up each place where a certain heuristic was applied.

If you read the first and third sections and skip over the case studies, then you will have read yet another "feel good" book about writing good software. But if you take the time to work through the case studies, following every tiny step, every minute decision--if you put yourself in our place, and force yourself to think along the same paths that we thought, then you will gain a much richer understanding of those principles, patterns, practices, and heuristics. They won't be "feel good" knowledge any more. They'll have been ground into your gut, fingers, and heart. They'll have become part of you in the same way that a bicycle becomes an extension of your will when you have mastered how to ride it.


Product details

Customer reviews

4.5 out of 5 stars
4.5 out of 5
1,372 customer ratings
How does Amazon calculate star ratings?
Reviewed in the United States on December 30, 2016
Verified Purchase
188 people found this helpful
Comment Report abuse
Reviewed in the United States on November 3, 2018
Verified Purchase
review image
57 people found this helpful
Comment Report abuse
Reviewed in the United States on July 9, 2018
Verified Purchase
30 people found this helpful
Comment Report abuse
Reviewed in the United States on December 8, 2018
Verified Purchase
24 people found this helpful
Comment Report abuse
Reviewed in the United States on May 21, 2018
Verified Purchase
28 people found this helpful
Comment Report abuse
Reviewed in the United States on March 30, 2017
Verified Purchase
37 people found this helpful
Comment Report abuse
Reviewed in the United States on July 9, 2017
Verified Purchase
27 people found this helpful
Comment Report abuse
Reviewed in the United States on September 6, 2017
Verified Purchase
15 people found this helpful
Comment Report abuse

Top international reviews

Sam Tuke
3.0 out of 5 stars Fake copy, printed by Amazon, but readable
Reviewed in the United Kingdom on May 12, 2018
Verified Purchase
review image
37 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
bomfirit
1.0 out of 5 stars Gedrucktes PDF!!!
Reviewed in Germany on November 7, 2017
Verified Purchase
review imagereview image
136 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Little Bobby Tables
2.0 out of 5 stars I mean he calls himself Uncle Bob...
Reviewed in the United Kingdom on August 9, 2019
Verified Purchase
13 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Thomas
1.0 out of 5 stars Leider eine billige Kopie, bitte nicht bestellen.
Reviewed in Germany on April 21, 2018
Verified Purchase
review imagereview image
45 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
randomboy93
4.0 out of 5 stars This is a good book for beginner developers
Reviewed in the United Kingdom on February 8, 2018
Verified Purchase
11 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
JoHey
1.0 out of 5 stars Great content - poor quality print
Reviewed in the United Kingdom on May 15, 2018
Verified Purchase
11 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Joachim O.
4.0 out of 5 stars Good read for all software developers and even better for Java developers
Reviewed in the United Kingdom on May 10, 2018
Verified Purchase
3 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Sam
1.0 out of 5 stars Counterfeit
Reviewed in Germany on July 1, 2018
Verified Purchase
review imagereview imagereview imagereview imagereview imagereview image
26 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Adil Hussain
5.0 out of 5 stars Impactful, Influential
Reviewed in the United Kingdom on September 29, 2017
Verified Purchase
3 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Peter
2.0 out of 5 stars Mehand repetitive
Reviewed in the United Kingdom on December 9, 2018
Verified Purchase
2 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Matthew
5.0 out of 5 stars Want a new passion? This book will give you a TDD passion
Reviewed in the United Kingdom on August 13, 2019
Verified Purchase
Sending feedback...
Thank you for your feedback.
Report abuse
Fran
1.0 out of 5 stars Take care! Printed copy of the book
Reviewed in Germany on April 28, 2018
Verified Purchase
review imagereview imagereview imagereview imagereview image
23 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Seligc
1.0 out of 5 stars My way or the highway theme throughout
Reviewed in the United Kingdom on April 26, 2019
Verified Purchase
One person found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Mr. Paul J. Grenyer
5.0 out of 5 stars Top 3 Programming Book
Reviewed in the United Kingdom on September 22, 2011
Verified Purchase
3 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse
Steven Gilham
5.0 out of 5 stars Does what it says on the tin
Reviewed in the United Kingdom on May 3, 2009
Verified Purchase
6 people found this helpful
Sending feedback...
Thank you for your feedback.
Report abuse