审PR已经成了我一周里最难受的环节。不是因为代码烂,大部分读起来都还行。是量太大了,而且很多是AI写的。作者一个下午就能产出一个600行的PR,而理解它的人还是我。

打开网易新闻 查看精彩图片

后来我想明白一件事:逐行读diff,根本抓不住AI代码真正会犯的错。

出问题的从来不是某一行。行本身通常没问题,滑掉的是结构:

  • 新写了一个helper,而两个文件夹之外早就有一个一模一样的
  • 函数能跑,但完全不管代码库其他地方是怎么做同一件事的
  • 改动今天是对的,等数据量涨起来那天就是灾难
  • 测试是绿的,但它测的根本不是该测的东西

这些在diff里一个都看不见。只有把改动周围的代码一起看,才会浮出来。

所以我现在审PR,问的问题变了。不再是"这一行对不对",而是:

  • 它合不合群?跟代码库现有的写法一致吗?
  • 谁在调它?这一改会崩掉什么?
  • 测了吗?测的是要紧的那件事吗?
  • 扛得住吗?不只是"能跑",是数据涨了还站不站得住?
  • 是不是已经有了?我们是不是在重复造一个现成的东西?

这五个问题,在diff页面上一个都答不了。但在IDE里,每一个都只差一次点击:跳转到定义、查找引用、打开测试。

于是我做了个工具,把整个review搬进编辑器。

Review Lens是JetBrains IDE的免费插件,支持IntelliJ IDEA、PyCharm、WebStorm、GoLand。选一个PR,它就在你已经开着的窗口里打开。

你像读自己的代码一样读它:完整文件,PR的改动标在行号槽里。跳转定义、查找引用、跑测试,全都照常可用。

讨论会自己找上门。每个人在GitHub上的评论就挂在对应的代码行下面,你直接在原地回复,不用开浏览器。

阅读进度不会丢。读一个文件勾一个,勾选状态和GitHub同步;你读完之后文件又被改过,会被标出来。

只提交一次。点完成审阅,你的评论和结论作为一次review发到GitHub。

手头的工作是安全的。打开PR前你正在做的事会被搁到一边,审完再回来。

它不只用来审别人的代码。先读自己的PR:在请人审之前,打开自己的PR,一个commit一个commit地过一遍。你会看到它是怎么长出来的,也能在审阅者之前抓住结构上的错误。对任何交付AI辅助代码的人,这是我最推荐的习惯。

跟进新推送也一样。你审完之后如果有人又推了东西,PR会提示你,你只需要审新增的部分。

整个仓库一眼看完。所有开着的PR都在IDE里的一个列表里,等你的排在最前面,每个PR的评论点一下就到位。

想试的话,在IntelliJ IDEA、PyCharm、WebStorm或GoLand(2026.1+)里:Settings → Plugins → Marketplace → 搜索"Review Lens"。需要装好git,并用GitHub CLI登录(gh auth login)。插件在JetBrains Marketplace上架,源码在GitHub,Apache 2.0协议。

最后想问问:你在AI写的PR里最常抓到的结构错误是什么?我先来——重复的helper,每次都是。