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

It tends to acquire bugs because ideas of what it should do change over time, and so what used to be correct behavior is no longer.

Which also gives you useful guidelines for deciding when to rewrite. Identify the design assumptions of the system. Identify which ones of them no longer hold. If you can't identify these, leave it be - there's probably something important in there that you don't understand. If you can identify them but there are ways of making the existing system meet the new requirements, refactor, don't rewrite. Only rewrite if the fundamental assumptions of the system, ones that permeate the whole system design, have changed.




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

Search: