Hacker News new | ask | show | jobs
by epenn 5537 days ago
Resisting the knee-jerk urge to rewrite a piece of software from scratch is something that has taken me a while to master. I'm much more levelheaded about it now. I try to think through whether or not there is a legitimate reason for the rewrite. Sometimes that reason certainly exists, but I've found more often than not that doing so is overkill. It's a lesson that has certainly saved me a lot of time since and allows me to focus on more important tasks.
1 comments

Out of curiosity, what would you say are some legitimate reasons for doing major rewrites? I'm currently going back and forth on whether or not a rewrite is a good idea, and would like to hear what some people would consider good reasons.
Joel ("On Software") Spolsky might say never. If you have a system that is smelly but working, then rewrites of individual subsystems lets you evolve the working system into something cleaner without any discontinuity of service.

http://www.joelonsoftware.com/articles/fog0000000069.html

Yeah, I've read that before, and other articles like it. Does the feeling of 'this code sucks, needs rewritten' ever go away after inheriting an old, smelly, but working codebase?