"A Philosophy of Software Design" vs "Clean Code"
The two authors disagree on several aspects of software design, including method length, comments, and test-driven development. Martin advocates for very short methods, minimal comments, and test-driven development, while Ousterhout argues for a more balanced approach. They debate whether Martin's "Clean Code" principles lead to over-decomposition and harder-to-understand code. The authors also discuss tradeoffs in...