My friend, Gary Bernhardt, is a self-proclaimed destroyer of software. Gary
uses his power for good at destroyallsoftware.com to dissect what we
programmers do for fun and profit.
All of his screencasts are great, but his recent ones are particularly
noteworthy. He takes a real world open source Ruby project and demonstrates a
series of steps to refactor one of its controllers into a more maintainable
design. Method naming, object extraction, framework taming, you name it.
Haven’t we all faced that monolithic 300 line function with useless comments
and obtuse cleverness?1
It’s not directly related to Cocoa, but it’s general enough to be invaluable.
I’ve lost count of how many projects I’ve helped where cleaner and clearer code
would have solved basic communciation problems and prevented many bugs. If
you’re not subscribed to his screencasts, you’re doing it wrong.