A Google user
Very disappointed by this book, as the title looked promising. The "science" behind the book is backed up by some hypothetical development/maintenance cost tables, instead of empirical data. Some of the laws: "Readability of code depends primarily on how space is occupied by letters and symbols." - This is a simple formatting issue, which can be fixed in any modern editor with a single key press, so this is really a non-issue. Real readability problems arise from unstructured, disorganized and complex code, making it hard for other developers to read it and understand it. "The chance of introducing a defect into your program is proportional to the size of the changes you make to it." this is a naive assumption. IMO, the chance of introducing bugs is more correlated to the coverage/quality of your tests and not to how many changes you do. On rigid design: "Code should be designed based on what you know now, not on what you think will happen in the future." I don't buy this. Thinking about the future helps in creating a flexible design, not a rigid one. The book is very short, equivalent in length to a long blog post or quora question, but with less quality.
Bart Mulder
I saw a video interview with the author on the Google Developers Channel and I liked his view on the Three Most Common Flaws in software design. I think he has a point worth keeping in mind when reviewing your own or your colleagues' work. I bought the book expecting to be further educated about how to detect and avoid these flaws. Unfortunately I was not. The book is mostly a collection of anecdotes and examples supporting his contention. I like his rules of thumb for avoiding the flaws, like not making too many assumptions and refactoring your code with every iteration to make it look like it was designed this way. But it doesn't provide anything like a methodology for doing better design. The author clearly has experience worth sharing. But the book unfortunately doesn't do a good job of presenting it in a constructive way. Had it been presented in a 4 page paper I would not hesitate to give it to my more junior colleagues as mandatory reading. Now I think I will just refer them to the interview videos.
3 people found this review helpful