One framing of criteria for good code now is "easy to modify in the future".

· Bits and Bobs 4/29/24

Documentation, tests, etc are in service of that goal.

But so is not over-engineering something.

Don't build a new code abstraction until you've done it a crappy way at least twice (but ideally three times).