Over the past three-day weekend I watched plenty more Uncle Bob videos and racked my brain trying to figure out how to shave time on the Bowling Kata. I couldn’t find any way to get under 20 minutes. I tried researching every common hotkey I should be using. I even started getting used to using emacs key bindings, which shaved a bit of time, but still couldn’t get it any lower.

Monday I met with my mentor Alex for a bit and showed him where I was at. He watched me go through my 20-minute routine, and had quite a few notes for me. For starters, I was making a test for every single helper function. That is a big misconception about test driven development. You really only need to put tests on the main module function. If the main module function that is getting exported is working, it’s safe to assume that the helper functions are doing their job.

Alex also had quite a few Cursive (the plugin on Intellij Idea for Clojure) specific hot keys. My favorite of which is Cmd - Shift - K which is the hotkey for slurp. Slurp takes the following form and “slurps” it into the form you are currently in. This saves a lot of time compared to having to move the cursor to the form you want, selecting it, cutting it, moving the cursor back to the previous form, and pasting.

After all the tips Alex gave me, I now have the best time of 9 minutes 27 seconds. So far I have only gotten that once, but I am now consistently hitting under 11 minutes. Tomorrow I have my second IPM, so I’ll be showing off my new skills there. If I don’t fumble and embarrass myself, I’ll probably be showing it off and Lunch and Learn this friday.