What is your modern
Confusion comes from CS which is based on math which is based on determined set of rules and axioms.
But modern software engineering is more art, CS is just one of many tools at your disposal.
So many developers and book authors still don’t get it.
There are no laws or rules that just works — u always have to think for yourself.
=> any book teaching you specific principles or practices would be incomplete and incorrect in some big set of cases.
#2. CC is a great book, as any book written by experienced engineers.
You just have to remember #1 and learn to understand motivation and applicability of each idea in a book.
It's relatively short and doesn't commit the sin of providing code snippets. It only lays down general rules about software development and give generic heuristic for better software design. Nothing specific to code. It has no prescriptive rules on the way you write code, but rather, on which code to write. This makes the recommendations timeless despite the fact the book is fairly old. As someone who was just starting in development at the time, it was a HUGE help and provided insights that I can only agree with now that I'm working in the field. Maybe for someone who has a bit of experience already, it might just elicit shrugs, but I think it's a good introduction on how to think about software design.
Except for what he says about TDD.