Thursday September 01, 2011

Destroy All Software

My friend, Gary Bernhardt, is a self-proclaimed destroyer of software. Gary uses his power for good at 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.

  1. Written by someone else, of course