In my development career, I seem to repeat this cycle:
- discover a methodology (“hmm this sounds interesting”),
- become familiar with and then productive in that methodology (“ohh, I like this…maybe this is it“),
- develop a belief that the methodology is The One True Way (“yes, this is it! i found The One True Way that will always work forever!! finally!”),
- 9 months pass,
- revisit code written according to The One True Way (“WTF is this…oh….”),
- plummet back to reality, realize there there is no One True Way…there are many ways, and none are 100% true.
But, wait, I have good news.
This time, and I mean for real this time, I know The One True Way. It is writing tests. Tests are The One True Way. Tests ensure that code written in The One True Way 9 months ago will still work and can maintained when I encounter the next One True Way.
I’ll check back on this post in 9 months.