Discuss This Topic
There are 0 comments in this discussion.
A simple rule that helps improve your work as a software developer.
As a long time open source software developer, I'm a stickler for maintainability. It's not enough that software does the job it purports to do, the codebase should also be maintainable and easy to extend.
I'm not anywhere near perfect about this, there are certainly some recent evidence that attest to this imperfection, but before I hand off my work to someone else I'm in the habit of asking myself this:
If I was to receive this work right now, what would I expect to be in place for me to be able to use it?
Often this will encourage me to do things like document the software's dependencies and set up steps (e.g. does it need to have Redis running?) or even reconsider naming of classes and methods for clarity of purpose.
Did I give the next person (which could myself in the future) what they need to do what they want with the software?
It's like a micro-release cyle in my process that acts a step where I can improve what I'm delivering.