logoalt Hacker News

Bad code is kudzu

50 pointsby surprisetalklast Thursday at 1:02 PM14 commentsview on HN

Comments

paulgerhardtyesterday at 11:24 PM

I’d argue Kudzu has visibility bias. It grows on sunny roadsides, railway corridors, and disturbed land. Basically all the places where people see it so attribute it to being more pervasive than it is. It's also mostly harmless[2].

Bad code is the inverse. It’s more pervasive than people think it is and builds up precisely in the places that are not disturbed. More like Privet than Kudzu. But that isn’t nearly as catchy.

If you want to dig into the quasi redemption story of why Kudzu isn’t this terrible evil we’ve given it to this was a decent episode of 99%PI at around the 18 minute mark[1].

[1] https://99percentinvisible.org/episode/roman-mars-describes-...

[2] https://www.smithsonianmag.com/science-nature/true-story-kud...

jamwiseyesterday at 10:42 PM

Bad code as an invasive species is the freshest take I've heard. I have a hard enough time arguing with people that tech debt isn't about bad code, but shifting priorities and requirements. This is going to be a really useful analogy for me going forward, thanks!

show 1 reply
YuechenLiyesterday at 10:55 PM

I thought we solved the kudzu problem by having goats graze on them and rip them out by the roots, right? So maybe we should set goats on legacy git repos as well.

show 1 reply
omoikaneyesterday at 10:23 PM

Coincidentally, the same plant in Japanese is kuzu (クズ, or 葛), which shares the same pronunciation as the word for trash (屑). So bad code is trash.

ChrisMarshallNYyesterday at 9:04 PM

> as a way to combat soil erosion

I heard it differently. I heard that it was imported for aesthetic reasons (like starlings).

Nasty stuff. We're starting to see it up here, in New York. I remember it well, from Maryland.

Yay climate change!

I often "hit the reset button" on projects. It used to be waiting until the pain was great enough, but LLMs make it a lot easier.

show 2 replies
rzzztyesterday at 10:55 PM

The hardware auto-detection tool in Red Hat Linux was also called Kudzu, before udev times: https://fedoraproject.org/wiki/Anaconda/Features/NoMoreKudzu

rgloveryesterday at 10:54 PM

This is a wonderful analogy.

esafaktoday at 2:30 AM

The cost of the code should be weighed against its benefits; at design review, code review, and launch review.