I felt the same when reading that book, and I never finished it because following the rules he suggested produced horrible code.
If memory serves, he also suggested that the ideal if statement only had one line inside, and you should move multiple lines into a function to achieve this.
I once had to work on a codebase that seemed like it had followed his style, and it was an awful experience. There were hundreds of tiny functions (most only used once) and even with an IDE it was a chore to follow the logic. Best case the compiler removed most of this “clean” code and the runtime wasn’t spending most of its time managing the stack like a developer had to do.
There’s nothing quite like the unique pain of navigating an unfamiliar codebase that treats abstraction as free and lines of code in one place as expensive. It’s like reading a book with only one sentence per page, how are you supposed to understand the full context of anything??
I felt the same when reading that book, and I never finished it because following the rules he suggested produced horrible code.
If memory serves, he also suggested that the ideal if statement only had one line inside, and you should move multiple lines into a function to achieve this.
I once had to work on a codebase that seemed like it had followed his style, and it was an awful experience. There were hundreds of tiny functions (most only used once) and even with an IDE it was a chore to follow the logic. Best case the compiler removed most of this “clean” code and the runtime wasn’t spending most of its time managing the stack like a developer had to do.
There’s nothing quite like the unique pain of navigating an unfamiliar codebase that treats abstraction as free and lines of code in one place as expensive. It’s like reading a book with only one sentence per page, how are you supposed to understand the full context of anything??
Haha, the horrors of trying to fix a bug in OpenOffice flash before my eyes