It is very poetic to think about code as it containing the memory of its maintainers. I don’t entirely disagree with the idea, but it’s overly poetic and the reality of maintenance on systems that have become too unwieldy is anything but poetic.
I have been working on a Python template repository as part of my day-job at Orcfax.
It is based on the popular pypa sample project and adds important tooling that supports the quality assurance of projects that many developers are expected to engage with.
In my template repository I add editor defaults, linting, and prepare the repository for unit tests, and then deployment.
I have migrated a copy of the template I created for Orcfax to a new file format organisation I have created to capture work I am doing around tools such as ffdev.info (the PRONOM signature development utility).
I want to talk about how this tooling can be used as a way of understanding legacy, or new code that you are going to be looking at. Looking at how linting can be useful for learning and understanding.
It was back in May, yes, way back when, that Jordan Hale of the Information Maintainers group put the following to me:
I write today to ask if you’d be interested in being our special guest on the next Information Maintainers call … we thought your perspective on working within and maintaining decentralized, small-group systems and development infrastructures would be really rad to hear about. What do you think?
I am a big fan of the Information Maintainers and so I was pretty stoked to be asked. Of course, I jumped at the chance and wrote about “Something something twenty years open source…”