In a comment on Signs you're a crappy programmer Philip Storry said:
One of my favourite quotes from Ken Thompson (who apparently knows a
bit about computers) is:
I tend to break up a subprogram when there are too many local
variables. Another clue is [too many] levels of indentation. I
rarely look at length.
It's not an absolute truth, but he does give two pretty good indicators.
The length of a function isn't important - what you're trying to
do in that length is... :-)
This kind of quote used to make me disappointed that I never went
to university to do computer science. I imagined that such quotes
would be thrown out by a teacher, followed by the magic word
"Discuss".
Of course, I eventually met some CS students, who disabused me of
this romantic notion. ;-)
Yeah, that would be a neat class, but I never had a class like that.
It's not so much the teachers wouldn't be open to that, but that the
students wouldn't be capable of following up with a discussion. It
would be dumb anyway -- speculating on design practices that apply to
something none of the students have ever done: working with code at
different stages of the code life cycle. At best the students could
rephrase other bits of wisdom heard but never experienced, which does
not a discussion make. This describes a large portion of the
discussions I had in college classes. Discussion sucked. But then I
wasn't a very satisfied student in general.