我如何构建了一个检测代码库中 AI slop 的工具(以及我发现的模式)

发布: (2026年3月7日 GMT+8 10:48)
2 分钟阅读
原文: Dev.to

Source: Dev.to

问题

过去一年里,我大量使用 AI 编码助手——Cursor、Copilot、Claude 等各种界面。它们在提升开发速度方面非常出色,但我不断在代码审查中发现同样的懒散模式:

  • 到处都是 TODO 注释,且常常与实际实现相矛盾
  • 占位符变量名,如 data2tempresult_final
  • 只包含 pass 的空 except
  • 整块被注释掉的代码
  • 名为 handle_itdo_stuffprocess_data 的函数却做了三件毫不相关的事

最糟糕的是?这些模式对传统的 linter 来说是不可见的。pylint 并不在意你的函数叫 processData 还是 handleStuffflake8 也不会标记 TODO 注释。但每个人类审查员都会立刻发现它们,并质疑你是否真的理解自己提交的代码。

于是我创建了 roast‑my‑code —— 一个专门捕捉这些模式的 CLI 工具。

检测规则

分析器围绕三个类别构建:AI Slop代码质量风格。每个类别都有加权得分,其中 AI Slop 占整体得分的 50%。

AI Slop 模式(高严重性)

# Detect TODO/FIXME/HACK comments
TODO_PATTERN = re.compile(r'#\s*(TODO|FIXME|HACK|XXX)', re.IGNORECASE)

# Placeholder variable detection
PLACEHOLDER_NAMES = {
    'foo', 'bar', 'baz', 'temp', 'data2', 'result2',
    'test123', 'foo_bar', 'test_var'
}

# Hallucinated imports (common fake packages AI invents)
FAKE_IMPORTS = {
    'magiclib', 'utils2', 'helpers.everything',
    'common_utils', 'my_helpers'
}
0 浏览
Back to Blog

相关文章

阅读更多 »