Your Linux Data Center Experts
Notes on Code Retreat
Goal: Talk about my experience at a Code Retreat
In a few minutes, I'm going to ask what you want to hear about.
About the practice of programming.
Not about producing a program, it's about programming.
Use a technique for 30 minutes with one partner, then remove and repeat.
Program like you have all the time in the world.
It's not practice that makes perfect, it's perfect practice that makes perfect.
I'm not a programmer, I'm a sys admin.
Conway's Game of Life:
Complex enough to be interesting.
Two developers working together.
One reviewer and strategist.
Typically switching roles.
Test Driven Development
Write tests first
That way you think about the API and making it testable.
Write only the code required to pass the test.
Many different levels of testing, but usually unit.
So what would you like me to talk about?
If you finish it, you're doing it wrong.
Switching pairs every hour.
Throw away the code and start over.
This totally proved the value of unit testing to me.
Be careful of the level of your testing.
API versus game rules.
Bill Tucker asked some very good questions:
Array versus infinitely sized world versus torus world?
Could that be refactored?
Exposure to different languages and environments:
Test, develop, refactor, test.
Dictionaries versus sets.
Be careful about acting like you're under a deadline though.
One pairing, discussing the API, conceded in order to make progress.
Questions from UCAR presentation:
How well did the pair programming work?
How did the test driven development go?
How do you know how to correctly scope the tests so they are testing
the right thing?
Would it be possible to have a shorter code retreat, say 4 hours instead of 8?
What do you need to successfully hold a code retreat?