过去做 Code Review 时,我最怕的就是那种“挑字眼但不给方案”的 review。
但 Trae Solo 给我的感受完全相反:
它不是在挑你毛病,而是在帮你进步。
为了测试这种“AI Code Review”,我做了一个完整实验:
给 Trae Solo 一段“我故意写得很烂”的后端逻辑,让它做审查。
🧱 一、给它的原始代码(你看了也会摇头)
def calc(user, a, b):
if a == None or b == None:
return "bad"
if a < 0:
return "bad"
r = a + b
user.logs.append("calc")
print("done", r)
return r
问题很多:
- 返回值类型混乱
- magic string
- 打印语句
- 没有异常
- user 的依赖耦合太强
- 参数名太随便
这段代码很真实,很多老项目里都有类似的。
🧠 二、Trae Solo 的审查非常专业,但不刻薄
它没有“AI 教条式训话”,而是非常工程师化的评论。
“函数的返回类型不稳定,会导致调用方处理错误。”
“打印语句不适合出现在业务逻辑中。”
“calc 与 user 的耦合过强,建议 decouple。”
“建议把校验逻辑抽成 validate 函数。”
这种语气很像团队里的资深开发。
🔧 三、它不仅指出问题,还会给“可执行的改进方案”
我说:
请给出一个不改变功能的优化版本。
它给出的重构代码如下:
from typing import Optional
def validate(a: Optional[int], b: Optional[int]):
if a is None or b is None:
raise ValueError("a and b are required")
if a < 0:
raise ValueError("a must be non-negative")
def calc(user, a: int, b: int) -> int:
validate(a, b)
result = a + b
user.add_log("calc") # 解耦
return result
重点是它还解释:
- 为什么要用 validate
- 为什么要 raise 异常
- 为什么要解耦 user
这是“教学式 Code Review”。
🔍 四、我让它做严格模式审查,它能给出更深的建议
例如:
请从 SOLID 原则角度给审查。
它会:
- 找单一职责问题
- 找耦合点
- 找扩展性瓶颈
- 找未封装逻辑
例如它指出:
calc 包含三种职责:参数校验、业务逻辑、日志记录,违反 SRP。
而这在很多老项目中非常常见。
🎯 五、Trae Solo 适合作为“随身 code reviewer”
我现在基本这样用:
- 写完某个函数 → 让它 review
- 完成一个模块 → 让它检查耦合
- 想要优化 → 让它提出重构建议
它不会给模糊建议,而是给清晰指导。
你得到的不是“挑错”,而是“工程能力提升”。