CodeGeeX是一个国产AI编程助手,跟GitHub Copilot类似但免费,而且对中文开发者特别友好。我最近半年在团队里推它,发现很多人只知道拿它补代码,却不知道它在团队协作场景下其实有不少隐藏玩法。这篇文章就聊聊我们团队摸索出来的CodeGeeX使用方法,特别是多人协作时怎么用好它。
CodeGeeX在团队中到底能解决什么问题
说实话,刚开始我们团队也没把CodeGeeX当协作工具用,每人装个插件各自爽。后来发现一个问题:新人接手的代码,注释写得少,逻辑复杂,光靠看代码猜意图特别痛苦。CodeGeeX的代码翻译和解释功能,就是帮大忙的地方。
举个例子,我们有个老项目是用Python写的后端,新来的前端同事看不懂某些逻辑。以前得找人问,现在直接选中那段代码,右键选"解释代码",CodeGeeX就能用中文把这段代码做了什么讲清楚。我们团队现在有个不成文的规矩:看不懂的代码先问CodeGeeX,再问人,效率高了不少。
另外,CodeGeeX的代码审查功能也很实用。提交PR之前,让CodeGeeX先过一遍代码,它能指出一些明显的逻辑问题或者风格不一致的地方。虽然不能完全替代人工审查,但确实能帮审查者省下不少时间。
我们团队总结出来的几个关键用法
用了一年多,踩了不少坑,下面这几个用法是我们觉得最值得分享的。
代码注释统一化
团队最头疼的就是注释风格不统一。有人写中文,有人写英文,有人甚至不写。我们现在的做法是:让CodeGeeX自动生成注释。写代码的时候,按下Tab让它补全,它生成的注释风格是统一的。如果觉得不满意,可以用/comment指令让CodeGeeX重新生成注释,选择最合适的版本保留。这样每个人的注释风格基本一致,代码可读性提升很多。
代码翻译与知识共享
我们团队有做Java的也有做Python的,跨语言看代码很痛苦。CodeGeeX的代码翻译功能,可以把选中的代码从一种语言翻译到另一种。比如前端同事需要理解一段Python的算法逻辑,直接翻译成JavaScript就明白了。这个功能在我们团队内被称为"跨语言沟通神器"。
具体操作很简单:选中代码,右键选择"代码翻译",输入目标语言,几秒钟就搞定。不过要注意,翻译后的代码可能需要微调,不能直接复制粘贴就用。
用CodeGeeX生成单元测试
这个用法我们也是最近才摸索出来的。团队要求每个新功能都要写单元测试,但很多人觉得写测试比写功能代码还烦。CodeGeeX可以根据函数签名和注释,自动生成基础的测试用例。虽然覆盖不全,但至少把模板框架搭好了,再手动补充边界情况就轻松很多。
具体做法:在测试文件里,输入/test指令,然后把要测试的函数名和参数类型写清楚,CodeGeeX就会生成测试代码。我们实测下来,对于纯逻辑的函数,生成的测试代码大概能覆盖70%的场景,剩下的手动补就行。
避坑经验和新手常见问题
用CodeGeeX两年多,踩的坑比经验多。下面这几个问题,几乎每个新加入团队的人都会碰到。
| 常见问题 | 原因 | 解决办法 |
|---|---|---|
| CodeGeeX生成的代码有语法错误 | 上下文信息不足,或者模型理解有偏差 | 多写几行注释说明意图,或者用/clear指令重置对话 |
| 生成的代码不符合团队规范 | CodeGeeX不知道你们的代码风格 | 在项目根目录放一个.codegeex文件,配置自定义规则 |
| 多人同时使用感觉卡顿 | 免费版有并发限制 | 错峰使用,或者升级到付费版(我们团队目前免费版够用) |
| 代码翻译结果不准确 | 复杂逻辑难以完美转换 | 翻译后手动检查,特别是边界条件和异常处理 |
一个小经验:CodeGeeX对中文注释的理解比英文好很多。我们团队现在统一用中文写注释,CodeGeeX生成的代码质量明显更高。如果你发现它总是生成奇怪的东西,试试把注释改成中文。
我们团队的实际工作流
最后分享下我们团队现在的日常流程,给想引入CodeGeeX的团队一个参考。
- 早上开工,打开IDE,CodeGeeX自动加载项目代码和最近修改记录
- 写新功能时,先写中文注释描述逻辑,按Tab让CodeGeeX补全代码
- 写完代码,用CodeGeeX生成单元测试,手动补充边界情况
- 提交PR前,让CodeGeeX做一次代码审查,修复它指出的问题
- PR被合并后,如果涉及跨语言理解,用代码翻译功能生成对应语言的版本
CodeGeeX不是万能药,但用好了确实能让团队协作更顺畅。特别是代码注释和代码翻译这两个功能,我觉得比Copilot做得还好,毕竟对中文支持更到位。如果你团队还没用起来,建议先从代码注释规范化入手,这个见效最快。
你们团队用CodeGeeX有什么好用的技巧吗?欢迎留言交流,我也想学学新玩法。