A recent discussion on hacker news got me thinking about what makes a good codebase. After thinking about it for a while, I’ve come up with the following rule of thumb:
A good codebase is one that both does what it is expected to do and doesn’t fill it’s maintainers with negative emotions.