Whenever he feels the need to comment, he extracts the commented block into a new method and gives it a name that explains the purpose - instead of the comments.
The result is code cut into small self-explaining blocks that reads pretty much like a sentence.
I tried to follow it these last weeks and IMO it works great.
Instead of a comment - use a function name.
# Check too many lines. Count number of lines without a comment.
If I were to turn that into a function name I would either have one long ass function name or (more likely) I would cut out several words and lose a lot of readability and clarity.
I wonder if anyone has examples for or against of running such checks against your codebase? I can imagine some horror stories of how those tools would slow down all useful work. But some success stories? I guess I have to try on myself first :)
It's tied to Windows at the moment, but it's only ~70 loc so porting should be easy.