Book Review : Java by Comparison
This is a book review of Java by comparison (you may check and buy it there https://java.by-comparison.com), an ultimate compilation of exercices and good tips for whom wants to improve their coding skills. How many books about Code quality have you read ? Books having a real impact on your code code quality, your coder philosophy ?
I won’t surprise anyone by enumerating the TOP «4 essentials » books for any Java coders :
Cleancode – while is still an inspiring book – has quite aged and comes with a large deprecated section about Junit and old frameworks.
My first impress with the Java by Comparison Book resonates with my need of examples when I created my Cleancode course not long a time ago. In a sense, would not be the ultimate goal of this book, the assistance in obtaining for any programmer the capacity to evaluate if a code is of Good quality or not ?
Programming is a passion for many, but it also deeply involves empathy and humanity.
What distinguishes a junior programmer from an experienced one ? Probably a mix of skills, communication and examples. The Java by Comparison Book provides a set of exercises, with a growing complexity, to introduce new code smells ; refactoring practices and coding tips.
A wonderful assistant for professors ?
When I was a student (more than ten years ago 🙁 ; a huge part of our education has been to produce code to achieve a certain result. Coding exercies frequently evaluated against an expected result or output. Later; I frequently wondered : as a teacher, how could I assess and then give pointers to a student to increase his code quality ? The student may not have enough coding experience . As a teacher, my role is to provide a course session about Code quality , to give simple, effective rules and examples. The Java by Comparison book has been conceived in a set of short subjects and code examples.
I do recommend to use some hours in your lessons to extract some book examples as a way to improve your audience coding level.
I am a beginner in coding, should I read it ?
To be honest, the Java by comparison reader is a coder with enough fluency in Java programming. You should know basic Java structures and syntax ; have a moderate knowledge of basic Java Libraries and the common pitfalls of programming. The introduction of the book goes straight to the point with a nice evaluation test 🙂
To sum up, I would recommend the read for every students close to have achieved their CS degree or young professionals. Below this level, the help of a teacher is required to provide enough insight and context for each example. I do not mean that the examples are tough to catch, however I recommend to use this book in the context of a real exercise or a coding project to illustrate the common bad practices.
You are a battle-hardened coder ; this book brings the best for you
An experienced coder has no difficulty to read the book ; well -written and organized, concise and with enough explanations. This book is Java 8 ready, it means that you may learn some tricks and useful shortcuts (Collections.frequency ugh).
The Java by Comparison book contains a huge checklist and it has been thoroughly organized that you may find easily what you are looking for.
As I wrote in the preamble, I would have loved to get this book prior writing my Cleancode course. The Java by Comparison book contains a ton of examples and good advice to illustrate a course and lead the programming students towards the right direction.
The book is pleasant to read and things are easy to catch up. The examples are well-written and the writers have been able to point out in a concise way each code smells.
The practice orientation of this book is both a strength and a weakness. However, in my opinion, the book is perhaps missing a more abstract section about the Quality and its formal description. For example, a reference to ISO-9126- or quality metrics and how to measure them, which metrics are relevant in the Java language and how to optimize them.
I would also have appreciated some read-to-print documents like a cheat-sheet in A4 format and a code-review sheet with check boxes and places to do a code review. Many books are still lacking of such toolkit, that are essential for a good broadcast of the book concepts.
I think that it will my next blog post ; a cheat-sheet extracted from the book.