logoalt Hacker News

locknitpickerlast Tuesday at 8:37 AM2 repliesview on HN

> Most of software work is maintaining "legacy" code, that is older systems that have been around for a long time and get a lot of use.

That's not the definition of legacy. Being there for a long time and getting lots of use is not what makes a legacy project "legacy".

Legacy projects are characterized by not being maintained and having little to no test coverage. The term "legacy" means "I'm afraid to touch it because it might break and I doubt I can put it back together". Legacy means resistance to change.

You can and do have legacy projects created a year or two ago. Most vibecoded apps fit the definition of legacy code.

That is why legacy projects are a challenge to agentic coding. Agents already output huge volumes of code changes that developers struggle to review, let alone assert it's correctness. On legacy projects that are in production, this is disastrous.


Replies

tarsingelast Tuesday at 9:00 AM

What you list are common characteristics encountered in legacy systems, but what makes it legacy is a business decision of declaring it obsolete and in maintenance mode, and so that no money or time to be invested in it. Old systems that continues to evolve are not legacy, like say Linux, and yes like you say a project that is only one year old can be declared legacy. Resistance to change is only an economic variable that drives the decision. Vibecoded apps fits the definition because the developer is unlikely to want to invest more time in them for different reasons.

show 1 reply
theshrike79last Tuesday at 12:02 PM

So a project that's still using Java 1.6 and has perfect test coverage and some poor developer is paid to maintain it (but NOT upgrade it!) is not "legacy" in your book?

Then we disagree on the definition.

"Legacy" projects to me are those that should've went through at least two generational refactorings but haven't because of some unfathomable reason. These are the ones that eventually end up being rewritten from scratch because it's faster than trying to upgrade the 25 year old turd.

show 2 replies