I recently started working in a codebase that I didn’t write. It’s not the first time I do this, but it is the first time it happens after embarking on my Software Craft journey. As the responsible apprentice that I am, I started going through the code while keeping all my recent learnings in mind. Here’s a list of what I tried to keep in my mind:
That last one was specially useful, because that urge is strong. Very strong.
But I shouldn’t. At least not immediately. But I have a master plan that I’ll set in motion today. I call it:
Like the TDD constraint, my plan will go slowly, one step at a time. However, I won’t be based around doing just one thing at a time. I intend to keep a couple ideas in mind and use them whenever I am working in any piece of code (or writing something new).
Those are the small things I plan to keep in mind when working in that project, but there’s one more thing that’s a bit bigger.
The first thing I plan on doing, is finding some common ground. It’s a small team, just me and a couple friends so compromising on a common set of rules and practices won’t be so hard. But I believe it’s absolutely necessary as it sets the tone for the entirety of the project.
It feels good to find opportunities to apply what I’ve learned so far, especially when it comes to behavioural topics and practices like the ones I described above. I will report on how successful my approach is, and what changes I make to it as I go along so think of this as a practical experiment in working with legacy code.