Closet Coder

I work in my closet. I code. Yep.

Pairing Post Mortem - @_zph - Meta Pull Requests

| Comments

I had a great #pairwithme session with @_zph. Always a pleasure to talk to him and solve a problem together.

Setup

Experience

We wanted to add the feature to gh-auth so you could pass a –path or –user argument to it. Because we’re good developers, we started off by coding the acceptance test. We discussed the merits of how to write good tests and whether to follow convetions within a gem authored by someone else or do things ‘the right way’ – according to whatever coding religion you follow. Eventually we decided on sticking to the conventions of the gem while trying to improve–but not radically change–the tests/testing that we touched. From there, we dove down into the implementation and unit tests and drove through until we had the –path argument working. Along the way we did a little refactoring to use the OptionParser instead of requiring a specific ordering of options.

Within an hour and a half we had successfully test driven a new feature and gotten it working. We aliased –user to basically be a shortcut for –path, but that was it.

Takeaways

  • Solving real problems teaches you very different things than solving exercises.
  • A good test suite is crucial for getting people to be able to contribute to your library
  • Convention should probably trump your coding religion in 90% of the cases. As with any religion, introduce it in small pieces when it comes up.
  • Having a near ready pull-request to show for a pairing session felt amazing.
  • OptionParser is very useful.

I am looking forward to more and more OSS contributions through pairing. I’m almost thinking I need to ‘invent’ a widly useful (not necessarily used) gem to be able to pull out when I’m pairing to get the maximum effect. Super cool.

On to the next pairing session…

Comments