
有没有人会感觉 vibe coding 开发出来的东西代码一多就变成了屎山,自己失去了对项目的掌控感,经常改了一个地方其地方就爆炸。
我想分享一个我的 vibe coding 最佳实践: 极致严格的约束+90%的测试覆盖率。
给项目开启最严格的 lint
比如 Go 的 golangci-lint ,Rust 的 Cargo clippy 。以前人因为偷懒老是忽略编译器警告,但是 AI 时代改起来真的很快,而且帮助很大。
强制 90%的测试覆盖率(Design for Testability)
让 AI 生成的代码设计全部以提高测试覆盖率为主要目标,后期加需求再也不担心破坏已实现功能了。真的爽的一批啊,体验过就知道什么叫做稳稳地幸福。
强制代码行数检查
从我强制要求极高的测试覆盖率,并开启所有合理的 lint 检查之后,代码质量肉眼可见的提升了。但我逐渐发现还缺少一个工具用来限制代码行数,AI 老是喜欢在一个代码文件堆屎山啊!开源社区逛了一圈发现还没有类似的工具,于是自己用 Rust 搞了个sloc-guard。
文件命名风格检查
个人不太喜欢 common,helper,这种毫无意义的文件名,以前懒还能忍,自从代码基本都让 AI 写之后,索性也是直接上了强制约束。
这一套搞下来,我觉得基本实现了全自动防止 AI 堆屎山的效果。我相信 AI 写的代码可读性已经超过大多数人了,AI 也不会偷懒,该有的注释也都有,写出来的代码可以用赏心悦目来形容了哈哈。
Talk is cheap, show me the code.
sloc-guard,这个 Rust 项目全程实践上述做法,原汤化原食,5 万行代码勉强算是个中型项目吧,90%测试覆盖率,clippy 严格模式 0 warn ,没一个文件超过 600 行,我保证这个项目的规范程度绝对达到了非常高的水平,不信来看看嘿嘿