过去一年我遇到很多项目,结构随着迭代越写越乱:
API 和 Service 混杂,Repository 过度膨胀,Utils 堆了一堆不知从哪来的东西。
然后我发现 Trae Solo 在“架构重构”场景下表现非常像“资深架构师顾问”。
🧱 一、我从一个老项目开始
结构大致如下:
project/
routes/
handlers/
services/
dao/
db/
utils/
common/
你一眼看上去可能会发现几个问题:
- 模块分层边界模糊
- dao 和 db 含义重叠
- utils 是垃圾桶
- handlers 和 routes 职责不清晰
但要让一个新人理解它——起码要三天。
🧠 二、我让 Trae Solo 先“理解全局”
指令:
请扫描整个项目,帮我总结:
1. 模块分层
2. 耦合点
3. 不合理依赖
4. 哪些模块太胖、太杂
Trae Solo 阅读完几十个文件后输出非常专业的结果。
📊 三、它先按分层给我总结
Presentation 层 (routes, handlers)
Business 层 (services)
Data 层 (dao, db)
Shared 层 (common, utils)
并指出:
- handlers 和 routes 可以合并
- dao 只负责 CRUD,不应该做逻辑
- utils 分散且混乱,需要拆分
它讲得比一些框架的文档还清晰。
四、我让它找“代码味道”
它找出以下“坏味道”(Code Smells):
- Feature Envy:某些 service 调用过多 dao 行为
- Long Function:部分函数超过 120 行
- Primitive Obsession:大量裸字典传递
- Duplicate Code:utils/time.py 和 utils/date.py 重复
- God Object:UserService 涵盖 10 个职责
这已经是“架构师级别的反馈”。
🔧 五、Trae Solo 不会盲目 push 重构,而是给稳妥路线图
例如:
先美化边界(分层明确)
再收缩 service 层职责
再重排 dao 层
最后拆 utils
不是那种“我帮你重写一遍”的冲动式方案。
🛠 六、我让它起草重构任务清单,它给出了类似 Jira 的形式
例如:
# Phase 1: 清理 utils
- 移除重复工具
- 按领域拆分
# Phase 2: 拆 routes/handlers
- routes 负责定义 URL
- handlers 负责业务转发
这份清单我甚至直接 copy 到团队文档里。
🎯 七、我最后的感受是:
Trae Solo 在架构层面的能力并不是“重写你的项目”,
而是“告诉你哪些地方应该动,为什么动,以及怎么动最稳”。
这正是我们在真实项目中最需要的东西。