Clean Code Paperback – 2012
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.
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.
To get the free app, enter mobile phone number.
Review this product
There was a problem filtering reviews right now. Please try again later.
It starts with quotes about great entrepreneurs in the world and how think clean code should like. Covers pretty much all aspects in programming and give you a very good idea what you shouldn't do while programming.
* Great book, good content
* Font size too small and inconsistent
* Hologram is missing, looks like duplicate product
Top international reviews
In all the book is still perfectly usable and the quality issues do not affect the paper quality or resolution of the pages themselves. The only real downsides are the ugly front cover and larger/heavier than necessary physical form. The situation regarding intellectual property is unclear.
My verdict: buy it anyway, but be aware its not the Real McCoy.
Bei den beigefügten Bildern sieht man das Original (von der Firma) und das hier bestellte Buch (PDF Druck)
Wie bereits von anderen Personen festgestellt, habe auch ich leider eine billige Kopie des Originals erhalten - vermutlich ein Druck der PDF-Version. Der Druck ist schlecht, das Format ist unnötigerweise sehr viel größer, das Cover ist verschwommen/verpixelt, kein bzw. weißer Buchrücken und -rückseite.
Hierfür über 29€ zu verlangen grenzt an Betrug. Ich habe das Exemplar unmittelbar zurückgeschickt. Schade.
On the other hand the book is a useful reference which I have found helpful as I have been programming for over 50 years and needed so guidance on modern best practice.
Before reading this book, I recommend having a good understanding of Java and Object-Oriented programming. Don't forget Abstract classes, Interfaces, and Polymorphism.
In my opinion, it has more than 100 pages in excess.The appendixes and the chapter 14 (Refinement) don't contribute to anything. They are just boring. Also, I think that chapter 13 (Systems) could seem a little bit complex for beginners. It needs a very specific knowledge of Java, with concepts like EJB, JNDI, Proxies, and so on.
On the other hand, every concept is explained accurately with lots of examples. In addition, the "Smells and Heuristics" chapter summarizes the essence of this book very well.
I studied computer science and many of the concepts like proper naming of variables and short functions with a single responsibility are not exactly new but nonetheless, I found also many new and useful tips I haven’t thought about before. For example, how to deal with third party libraries properly.
The rather complex topic about concurrency in application is also touched and some good testing approaches are covered in the appendix.
All the examples are based on Java which is not really an issue since the ideas are independent of the programming language used. That said, some chapters deal explicitly with Java specific libraries and are less useful if your language of choice is something else. Other than that, I can recommend this book to all software developers and even more so to Java developers.
- page size is bigger than normal with a lot of unnecessary margin (making the book heavier and cumbersome to read),
- low press quality (words are not very black)
- the cover picture is pixelated (maybe not that visible from pictures but pretty clear to the naked eye).
I found it slow and managed to condense everything that I found useful into 3 A4 pages on word. I found the example uninspiring considering they were showcasing the reason I was reading the book.
I recommend this book to anyone doing a career in any type of tech development, these programming principles are shared across all fields of programming.
It truly has made me a better coder, and a more reflective one, taking the extra time to fully understand a problem, and then figure out the solution.
This book has given me the courage to take up new projects in my work, enforcing better coding standards and techniques.
The chapter on comments is worth the price of the book alone. I have worked in places over the last few years, where comments have been encouraged to explain the code, rather than writing code that explains itself. Another great chapter is the one on functions and the advice to keep them small is especially good and compelling. As I look back over the table of contents now, every chapter that describes how to improve an aspect of code is an absolute mine of good advice.
The final few chapters contain a number of refactorings. One on an application from the ground up and the others on existing code written by other people. This is the only place where the book got gratuitous and I must admit I skipped most of the final refactoring.
The final chapter is a summary of the advice given in the rest of the book and something I will find myself referring to again and again.
If you've read Test Driven Development and The Pragmatic Programmer, make sure you read Clean Code next.
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).
The maxim to take from the book is based on Baden-Powell's "Try and leave this world a little better than you found it", and owes to the same school of thought as "whenever you are in the garden, pull at least one weed". The meat of the book is in distinguishing what are the weeds from the intended crop.
So read it, understand the examples, and then refer to it often -- like the other titles mentioned, it is a reference work, and should join them as among the most thumbed on your bookshelf.