Bad Code Is Kudzu

Hacker News Top News

Summary

The article compares bad code to invasive kudzu, emphasizing the need to proactively remove features from codebases to manage complexity, especially with AI-generated code, illustrated by the author's experience deleting an unused hashtag feature.

No content available
Original Article
View Cached Full Text

Cached at: 09/13/26, 11:41 PM

# Bad code is kudzu Source: [https://vickiboykis.com/2026/09/01/bad-code-is-kudzu/](https://vickiboykis.com/2026/09/01/bad-code-is-kudzu/) ![Cultivation of the Vines, Henri Martin](https://vickiboykis.com/images/cultivation-of-the-vines.jpg)Cultivation of the Vines, Henri Martin Kudzu is a plant that was once introduced from East Asia to the eastern United States as a way to combat soil erosion\. But,[kudzu, once introduced,](https://www.nature.org/en-us/about-us/where-we-work/united-states/indiana/stories-in-indiana/kudzu-invasive-species/)grows aggressively and can overtake sidewalks, houses, foundations, and even trees\. The only way to kill kudzu is to prune it aggressively, as a concentrated strategy enacted together by all the people who live near where the kudzu grows\. You know where I’m going with this\. An app feature, once added to a codebase, can be extremely hard to remove\. Even simple features become very sticky because not only do you have to remove the code, but what’s worse is that people start writing code on top of your code, and before you know it, you are two years deep into an implemented feature no one wants\. Deleting code is hard, particularly because it’s a thankless task that usually doesn’t go on promo packets, which is why we end up shipping hundreds of thousands of lines of sparkle emoji magic wand AI features, but deleting code is silent\. But in this new era, we must delete code even harder, because if we don’t constantly remove complexity, we are going to drown in generated kudzu slop that overtakes codebases\. In the era where it’s easy to add stuff, leave yourself a plan to remove the features you added, particularly since it’s much easier than before, too\. For example, in May, I added a feature to add hashtag bubbles to my blog\. I’m a millennial, social hashtags are my love language\. I thought I would use them all the time, I thought my site visitors would use them all the time to beautifully navigate my sage writings\.[I used a combination of elegant machine learning techniques\.](https://vickiboykis.com/2026/05/18/tagging-my-blog-posts-with-bertopic-and-llms/) I left it alone for a few months to see if users actually used it in production, and the answer was a resounding no\. In my Plausible analytics, they didn’t make the top 30 visited pages for the past 3 months\. ![](https://vickiboykis.com/images/tags1.png)It’s possible a few folks got something out of them, but it’s not worth maintaining, especially when it’s so easy to put them back in\. \(This data is since May 1\.\) ![](https://vickiboykis.com/images/tags2.png)So, it’s time to prune the kudzu, in much the same way it was so easy to create\. ![](https://vickiboykis.com/images/tags3.png)``` Commit history for this feature is now: - 77e2c5a — Changelog entry - 85000e2 — Move search bar back to the header - 91b6fde — Remove tag sidebar and tag bubbles ``` 💆‍♀️

Similar Articles

Maybe We Shouldn't Be Reviewing All This Code

Hacker News Top

The article argues that code review is often used to solve the wrong problems, suggesting that feedback should be shifted left through practices like pair programming and team design sessions, especially with AI increasing code output.

When I reject AI code even if it works

Hacker News Top

The author explains why they often reject AI-generated code even when it works, citing reasons like inability to explain the approach, overly large diffs, premature abstractions, and reduced system reasoning, and argues for mandatory human review.

"Do You Still Read the Code?"

Lobsters Hottest

This blog post explores two AI-augmented coding approaches—accelerators who maintain code understanding and vibecoders who delegate more to AI—and discusses their long-term implications for software maintenance and team dynamics.