DevTeach Day 1 - ReSharper Madness!
Despite the fact that Oren's presentation is about ReSharper and as an Agilist I try to follow the manifesto "Individuals and Interaction over Processes and Tools", ReSharper *is* something that developers need. It is hard as it flies in the face of the manifesto but I think there are exceptions to the rule, and this is one of them.
Oren during his ReSharper talk opens up the PetShop client, runs a copy of Keyboard Jedi (which was flying of course) and started his refactoring madness. 4 keystrokes later he converted all of the crappy public fields in the codebase to public properties.
So we're about 8 minutes in the demo and if you ignore the 4 minutes it took him to explain what was going on, he's converted the PetShop login code to use Castle ActiveRecord and achieved persistent ignorance in the codebase. Nice.
Again, watching Oren (even as he's doing a demo here and pausing for questions) work in ReSharper is like watching DaVinci paint the Last Supper (not that I was there or anything). It's pretty slick (and a little overwhelming) especially when he undo's 5 minutes of coding in 5 seconds just to find something then redo all that code again. Then again Oren probably sees code like Neo sees the Matrix.
In the end it took some time to extract the crappy code out of PetShop (which is no easy feat) and a lot of refactorings and keystrokes later, the goal was accomplished. Not bad for an hour sessions to introduce ActiveRecord to a legacy codebase. With some time and care and feeding you can do the same (maybe not at the speed of Oren but then that would be inhuman, or JP-like).