Google 风格指南的代码审查技巧
在 Google,提交代码变更必须经过两道审查:一道是语言可读性审查(language readability),另一道是领域审查(domain review)。前者就是我们通常理解的代码审查;后者则是由一位非常精通该语言的人[^1]来把关,目的是在公司内部推广该语言的最佳实践,有时也是为了统一某种代码风格。
每种语言都维护着一份风格指南,里面列出最佳实践和风格约定,由成百上千位该语言的可读性专家共同维护。我本人就是 C++ 和 Go 的可读性评审人,也为 Go 风格指南贡献过一些细节,还参与过许多关于如何写 Go 的讨论。
风格指南不仅适合沉淀语言的最佳实践,也是学习的好去处,因为每条最佳实践通常都附有解释。这样一来,初学者在提出修改建议时,可以直接引用风格指南作为高质量的说明。
Google 很大方地开源了这些语言风格指南,地址是 https://google.github.io/styleguide/。我强烈建议使用相关语言的开发者都去读一读。我个人最推荐 C++ 和 Go 的,但相信其他语言的也很不错。
过去半年在 Netflix,我在让 Claude 写代码时发现,让它先读这些风格指南、再根据其中的建议修改代码,多少还是有些帮助的。当然还远谈不上完美,但通常比不让它这样做好。所以我决定把这个思路开源出来:https://github.com/jeanbza/claude-extensions。
安装方式很简单,在 Claude 会话里运行下面的命令即可:
/plugin marketplace add jeanbza/claude-extensions
/plugin install google-go-review@jeanbza
/reload-plugins
使用时,运行 /jeanbza:google-go-review 即可(或者用 cpp、py,这是我目前加的其他两种语言)。
在提示词工程方面我还有更多事情要做:比如 Claude 经常在“处理错误”时表现不佳(我个人的猜测是它懒得检查函数签名)。我会继续改进它,为了自己也为了其他想用的人。
另外我还在做一个更底层一点的项目,尝试通过生命周期钩子(lifecycle hooks)在它的奖励模型里注入一些评估器。不过眼下,希望这个工具也能像帮我一样帮到你!