The true test of good code is how easy it is to change it.
—Martin Fowler
Software is never done. There is always a new feature that was requested or a new bug that needs to be fixed. In reality, the developer will spend the vast majority of time not writing code but reading it.
As with any natural system, a software project tends to chaos unless we actively fight against this. This is because the more chaos we have, the worse it gets. That’s why projects lose ...