More useful links (Git, Unix, Vim)- 1 min
Though I started writing a detailed and long post today, I didn’t get time to finish it as I mostly pair-programmed today, starting in the morning with Jim. I got a first taste of how it is working on a client project and producing features based on stories, which was great.
Daniel (fellow apprentice) gave us a talk after lunch on the Open-Closed Principle, otherwise known as the ‘O’ in the SOLID set of principles. A good talk which extended into other areas such as testing, which led me to question some ideas I had and after thinking them over I could see I was wrong (pre-existing bias). One of the many reasons why being surrounded by people who are better than me is so important and good.
After the talk I paired with Uku (another fellow apprentice) and worked on his idea of building a ruby gem which would essentially be a directory parser. We got to work and the tests were driving the design in a very fluid way. We isolated different parts (Reader, Parser, Runner) and as a result, the tests for those were short and efficient. It’s slowly becoming a second nature that as soon as we encounter some sort of ‘pain’ in the tests (too many dependencies, wrong dependencies, etc), we know it’s time for rethinking the design. Testing done right, results in easy to maintain and understand code.
That pretty much summed up my day so to wrap this post up, here are some useful links:
I will finish the original post I mentioned above and post it here on monday.