糟糕的代码如同Kudzu

Hacker News Top 新闻

摘要

这篇文章将糟糕的代码比作入侵性的Kudzu,强调了从代码库中主动移除功能以管理复杂性的必要性,尤其是针对AI生成的代码,并通过作者删除未使用的hashtag功能的经历进行说明。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/09/13 23:41

# 坏代码如同葛藤 来源:https://vickiboykis.com/2026/09/01/bad-code-is-kudzu/ 《葡萄藤的培育》,亨利·马丁《葡萄藤的培育》,亨利·马丁 葛藤是一种最初从东亚引入美国东部的植物,旨在防止水土流失。 但一旦引入,(https://www.nature.org/en-us/about-us/where-we-work/united-states/indiana/stories-in-indiana/kudzu-invasive-species/)葛藤便会疯长,可能覆盖人行道、房屋、地基甚至树木。 消灭葛藤的唯一方法是大力修剪,并采取集中策略,由所有居住在葛藤生长地附近的人共同实施。 你们知道我要说什么了。一个应用功能一旦添加到代码库中,就可能极其难以移除。 即使简单的功能也会变得非常顽固,因为你不仅要删除代码,更糟糕的是,人们会在你的代码之上编写新代码,不知不觉中,你就在一个没人想要的已实现功能中陷了两年。 删除代码很难,尤其因为它是一项吃力不讨好的任务,通常不会出现在晋升材料中,这就是为什么我们最终发布了数十万行闪烁表情符号、魔杖、AI功能,而删除代码却悄无声息。 但在这个新时代,我们必须更努力地删除代码,因为如果我们不持续移除复杂性,就会被生成的葛藤般垃圾淹没,它们会侵占代码库。 在这个轻易就能添加东西的时代,为自己制定一个移除已添加功能的计划,尤其是现在这比以往任何时候都更容易。 例如,五月时,我为我的博客添加了话题标签气泡功能。我是个千禧一代,社交话题标签是我的爱的语言。我以为我会一直使用它们,我以为我的网站访客也会一直使用它们来优雅地浏览我的睿智文章。我使用了一种巧妙的机器学习技术组合。(https://vickiboykis.com/2026/05/18/tagging-my-blog-posts-with-bertopic-and-llams/) 我将其搁置了几个月,看看用户在生产环境中是否真的使用了它,答案是响亮的没有。 在我的Plausible分析中,过去三个月的访问页面前30名里都没有它们。 可能有些人从中有所收获,但不值得维护,尤其是现在重新添加它们如此容易。(这是自5月1日以来的数据) 所以,是时候像当初轻松创建它那样,来修剪葛藤了。 `` 该功能的提交历史现在如下: - 77e2c5a — 更新日志条目 - 85000e2 — 将搜索栏移回首部 - 91b6fde — 移除标签侧边栏和标签气泡 `` 💆♀️

相似文章

或许我们不该审查所有代码

Hacker News Top

文章认为,代码审查常被用来解决错误的问题,建议通过结对编程和团队设计会议等实践将反馈左移,尤其是在人工智能增加代码产出的情况下。

即使AI代码能工作,我也会拒绝

Hacker News Top

作者解释了为何他们经常拒绝AI生成的代码,即使这些代码可以工作,原因包括无法解释方法、diff过大、过早抽象以及降低系统推理能力,并主张必须进行人工审查。

你还阅读代码吗?

Lobsters Hottest

本文探讨了两种AI增强编码方法——保持代码理解的加速者和更多委托AI的氛围编码者——并讨论了它们对软件维护和团队动态的长期影响。