65 of 69 people found the following review helpful
Book title needs refactoring,
Amazon Verified Purchase(What is this?)
This review is from: Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) (Paperback)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.
Sort: Oldest first | Newest first
Showing 1-3 of 3 posts in this discussion
Initial post: 3 Apr 2012 07:29:56 BDT
Whilst I agree that the Java code can be difficult at times, the language is not the point that is being conveyed, and in fact helps to strengthen the overall point about writing clean code: The specific details (Java / Business Logic / etc) shouldn't matter if you have well named functions and a clean code layout, etc.
In reply to an earlier post on 3 Apr 2012 09:39:28 BDT
Last edited by the author on 3 Apr 2012 09:41:14 BDT
Mr. D. N. Sumption says:
I agree with you totally (have recently been experimenting with many different languages to this end), but when I read the book I found that (roughly) the second half seemed so Java-specific that it was largely meaningless to me - not because I couldn't read the code, but because it addressed many issues that were specific to that language (and some other languages, admittedly, but not a great many others; I felt that more effort could have been made to write - in Java - more language-neutral examples). The key is in my earlier sentence, that "[the authors] ... use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention".
However, I plan to revisit the book soon and tackle the latter parts of it with increased attention, with the hope that I can get more out of it this time around.
In reply to an earlier post on 8 Mar 2013 18:23:36 GMT
L. A. Puplett says:
I haven't read this book but if shoppers are looking for a similar book for .NET, then the Framework Design Guidelines is very good, in fact its a must for .NET developers. It focuses on naming and style, choosing between types, API surface design, stuff at the single line of code level. It's used within Microsoft to keep the framework wonderfully consistent and a joy to use, which is what we all want from our own and other people's code.
It may not cover areas this book does, but I read it cover to cover and refer to it like an author refers to her Oxford style guide.
‹ Previous 1 Next ›