To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
This is a great book. I have found the concepts informative and helpful. I'm glad I decided to get it. As an aid, I listened to the audio book version while I followed along reading it. This made taking notes a dream. I am now on my way to leveling up my programming skills.
This book requires to do some actual work and to read and understand the code examples. And that is a really good thing. There is a lot of good advice in this book. I don't necessarily agree with everything Uncle Bob writes, but that is something that he covers right at the start of the book.
The choice of Java as language for the examples is perhaps not ideal, because it is so verbose. But that is not a good enough reason for me not to give 5 stars.
Sou estudante de Ciência da Computação e realmente esse livro contribuiu muito para a minha visão do que é o ato de programar. Acabei pegando a versão inglês, pois li alguns comentários que diziam que a tradução não estava bem feita. Até entendo o porquê, acho muito difícil traduzir os códigos do livro e alguns conceitos. Porém, já aviso de antemão, o livro demanda bastante da sua dedicação!
Seriously, EVERYONE learning to code or anyone in the software engineering industry MUST read this book and learn the principles by which all programs should be made thinking on.
I'm not saying every single principle described in the book is applicable to absolutely all scenarios, but the big majority of them are.
Following these, will help you write cleaner code that is easier to read and understand using less mental capacity, which will in turn allows your brain to be fresher for other tasks like refactoring. It will also help in communicating more effectively with your colleagues having a common framework to work on and make easier to pass on the knowledge to other colleagues.
Amazing book. I have been reading this book over the course of a few months, it does require a lot of digestion to really take in all the knowledge. 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.
An absolute must-read for all software engineers and programmers and especially so if you work with Java or any such programming language. The first half of the book explains the concepts that make up clean code (naming, formatting, testing etc) and lays down the foundation. The second half of the book contains examples of the author working through and cleaning and refactoring code. It all comes together nicely and I've found it to be really impactful in influencing how I think about code.
I knew this was going to be an excellent book from the moment I heard Uncle Bod describing his ideas of Clean Code at his key note at an ACCU conference. I bought the book there and then, but didn't start reading it until a couple of years later. More recently I got it signed by Uncle Bob at Skillsmatter. After just a few pages it propelled itself into my top three books every programmer should read (behind Kent Beck's Test Driven Development and The Pragmatic Programmer by Andy Hunt & David Thomas) and at the end it's still there.
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.
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).
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.
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!