Hacker News new | past | comments | ask | show | jobs | submit login

I think the temptation to "rewrite the whole thing" is often strong with a large legacy project, and often doesn't pan out as well as it seems because while it is effective at eliminating a lot of the cruft and architectural missteps of the legacy codebase, it also means throwing out all of the subtle behaviors and edge-case-handling which has been built up over years of iteration.

I am a proponent of the disposable-code philosophy though: no system should be considered "off limits", and a healthy codebase should probably be completely rewritten every couple of years. It should just be done incrementally, in a modular way in most cases rather than throwing out the whole thing and starting again.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact