Hacker News new | ask | show | jobs
by phendrenad2 1595 days ago
Here's the only way you should ever rewrite something:

1) Document exactly what the existing thing does.

2) Write high-level tests for this functionality.

3) Make sure there are no features that will need to be added to it. Make sure everyone is onboard with not adding new features to it. Make sure people understand that adding features to an in-progress rewrite jeopardizes the entire thing.

4) Rewrite it in the original language, reusing those high-level tests you wrote in step 2.

5) Let people know that they can add features again.