我是谁 & 遇到什么问题
我是后端开发,日常做业务迭代和老系统维护。
每次写完代码准备 commit 提交的时候,经常会出现一些低级问题:变量没删干净、打印日志遗留、接口参数校验漏掉、注释过期和代码对不上。
平时靠人肉眼 review,很容易看漏;完整跑一遍单元测试又很慢,很多小改动不值得整套跑一遍。有时候这些小问题流到测试环境,又要来回返工改,很耽误时间。
我想有个简单脚本,在本地提交前快速扫一遍项目常见问题,不用启动整套服务。
实操过程
直接把项目部分代码文件丢进 TraeWork 工作区,分两步完成:
- 先让 TraeWork 写一个简易的 Python 扫描脚本,专门针对我平时容易犯的几类问题:
帮我写一个本地代码检查小脚本,只做静态扫描,不需要编译运行。
检查项:
1. 查找代码里面遗留的调试打印、debug日志
2. 标记没有删除的临时变量、注释掉的废弃代码块
3. 检查接口入参有没有基础非空校验
4. 找出注释内容和当前代码逻辑明显冲突的地方
输出markdown格式报告,把文件路径+行号写清楚,不用做修复,只做问题罗列。
脚本要简单,尽量少依赖第三方库。
- 拿到脚本之后,我发现有些规则不符合项目实际,比如部分业务日志就是故意保留的,不能全部标记为 debug 垃圾。我继续跟它对话调整规则:
修改脚本,不要把业务正常日志标记为调试垃圾,只标记临时调试用打印;同时忽略指定目录,不要扫描第三方依赖文件夹。最后把脚本保存为pre_commit_check.py输出到工作区。
- 拿到最终脚本,下载到本地项目,开发完代码,提交 git 之前直接运行脚本,快速拿到一份问题报告。
成果展示
最终产出一个pre_commit_check.py本地静态扫描脚本。
运行之后输出一份 markdown 报告,列出可疑文件、行号以及风险说明。
不会自动修改代码,只是帮我把容易忽略的点全部捞出来,我自己再去逐个确认,决定要不要修改。
脚本不需要复杂环境,本地直接就可以跑,不用接入 CI/CD 也能用。
效率对比
以前怎么做
写完代码,靠自己眼睛扫一遍文件,改动多的时候很容易漏掉调试打印、废弃注释;等测试测出问题再回头改,来回沟通,一次来回最少十几分钟。
现在怎么做
写完代码,运行这个几十秒跑完的小脚本,机器帮我全部遍历扫描一遍,我只看输出报告做人工确认。
不会代替代码审查,但把 “找低级小问题” 这件重复活交给工具,我把精力放在业务逻辑本身。
经验和技巧总结
不要指望脚本做到 100% 准确,它只是辅助筛可疑点,最终还是要人判断,不能完全依赖工具输出。
第一次生成的脚本大多会有误报,一定要结合自己项目情况,通过对话迭代调整规则。
这种小工具不用追求做成复杂 Skill,一次性生成脚本下载到本地直接使用,对普通开发者门槛更低。