Hacker News new | ask | show | jobs
by JASchilz 3850 days ago
I've found that an emphasis on a clear spec, decoupling, testing, and producing quality code significantly reduce the "spin up" time that gets ever more daunting in an infrequently-visited project.

A clear spec means that I know what all has to be programmed. Decoupling my components means that I can make changes to my business-logic/back-end without having to make changes to my display/front-end, as long as the interface remains the same. Testing means that I can make changes without fear that I'm going to unknowingly break existing features. Quality code means that I can more easily understand the code that I've written after an absence. The upshot is that I always feel comfortable making a few quick changes, pushing commits, even after being away from the code for a few days.

A few concrete tools for writing quality code: write it to be open sourced, write it to be viewed and collaborated upon; use code quality tests like pylint, jshint, code-climate, whatever is appropriate for your language; display your code quality metric badges in your repo, badges for coverage, built-status, etc.