News for hackers. Stuff that matters.
Re:Ask HN: Inherited the worst code and tech team I have eve... by rowanG077 on Saturday September 17, 2022 @11:57PM (#32884296)
It's still a rewrite. The crux of the statement I made.
Re:Ask HN: Inherited the worst code and tech team I have eve... by samus on Sunday September 18, 2022 @02:43AM (#32885055)
There problem with a classic full rewrite is that the existing system is thrown away immediately. All the existing features are not available in production until the rewrite adds them back in. Often incomplete, buggy, changed beyond all recognition, or a combination of all of these. That obviously sucks and is the reason the classic rewrite is rarely done. However, it is clear that something must happen.
Re:Ask HN: Inherited the worst code and tech team I have eve... by jmillikin on Sunday September 18, 2022 @04:33AM (#32885622)
"Full rewrite" is a description of the end state, not the process.

The best way to do a full rewrite is incrementally, with test support and consideration for natural separation of internal subsystems.

Re:Ask HN: Inherited the worst code and tech team I have eve... by baobabKoodaa on Sunday September 18, 2022 @09:53AM (#32887561)
The best way to do a rewrite may be incremental, but the terminology of "full rewrite" doesn't usually refer to an incremental rewrite, it refers to starting from scratch.
Re:Ask HN: Inherited the worst code and tech team I have eve... by jmillikin on Sunday September 18, 2022 @10:42AM (#32887955)
I don't think that's true -- a "full" rewrite is used in contrast to a "partial" rewrite, where only part of the system is replaced. It's called a "full" rewrite because the goal from the start is to fully replace the system with new code.

Consider that if this were not true, then there would be no way to describe an incremental full rewrite, nor any way to describe a from-scratch replacement of a subsystem.

I've written on this topic before, for example https://increment.com/software-architecture/exit-the-haunted...