前言--这是一篇关于CodeGeeX的使用测评。在AI时代,还不会使用AI工具助力提升工作效率的,多半会被同事或者领导嫌弃,甚至于被时代所抛弃...........
去年10月左右,AI进入了一个白热化的时间段。各种AI工具层出不穷。随着CHATGPT一声枪响,百度公司揭竿而起,推出了文心一言。腾讯推出了腾讯优图,阿里推出了通义灵码,微软推出了Copilot其它公司不甚了解就不多说了,但是基本上我接触到的都是在网页上面问答居多,而我是一个做软件开放的程序员,谁能理解我在chatgpt上面提问需要翻墙,然后等待10多秒甚至30秒的等待,得到了结论再粘贴到我的IDEA里面这样的痛苦?
一个偶然的机会,我接触到了CodeGeeX. 一个深得我喜爱的编程利器。
一开始,我也以为CodeGeeX是和CHATGPT一样需要收费的。我当时好像还给了100元巨资,但是使用感受,就难受的一批。但是在了解到CodeGeeX是免费使用后,就很有兴趣继续了解下去了。当时他们的策略是通过邀请2个人安装使用就可以免费使用,就这样,我给我的2个同事推荐了这个编程神器。下面我将大概的讲诉一下我的使用体验。
1. 代码生成和代码自动补全功能
这是领导要求修改的一段代码片段,需要在现有基础上增加状态9,拓宽查询范围。
在收到消息以后,我就进入idea里面进行修改。
我在编写一个调用其它组员的feign接口的方法时候,需求描述如下:
我在写到对应地方的时候,把注解标注上,那么CodeGeeX会自动的生成下面一大段的代码片段。
比如这个时候填写入参的时候,他会自动联想并给出提示,我只需按tab即可。不过这里的缺点就是它并没有去真实的查看这个query内部的字段描述,给出了错误的提示。
不过针对可以明确在当前上文查看的代码片段,它的提示是相当准确。
比如这里,他会结合上文的文字描述以及对应的字段注释,给出正确的代码提示,我也只需要按tab即可,而且相应的速度也是非常的快。
针对某个时候,比如我需要把前端传递的JSON数据粘贴下面,放在我的本地使用,比如修改某个字段的数据,在测试时期是很有用的。但是如何把这个json文件再次活化成对应的实体?那么我们就需要写对应的工具类方法。好的,有这样的刚需,我可以直接把问题描述清楚,给CodeGeeX提出,他会给我写出具体的代码片段。
嗯,功能还是相当强大的。利用了泛型。而我的项目中用不到这么强大的工具,我也并不想让它成为大家用的,我可以提示它继续修改。
可以看到CodeGeex根据我的描述修改了它的代码片段。至此,我的功能已经达到了要求,我们不可能让它再细化了,此时就得靠我们根据实际情况来调整代码了。
最后我调整的代码,可以看出来和CodeGeex相对比,代码简洁了很多,也不需要太多的操作。但是从功能而言,CodeGeeX提供的第一版代码无疑是最合理的。
2. 编写单元测试
在开发后期,我们需要做的最多的操作就是测试工作,比如一个方法在开发前期,由于各种原因导致没办法测试,只能写好了先放在那里。等到后期各个微服务之间的接口都已经开发完成了,测试数据也基本有了的时候,就是疯狂测试的时候了。但是这个时候一个很大的方法,很难做到完整的测试,那么就需要碎片化,把大方法内部的各个小方法单独写测试用例。如下:
可见这个大方法里面做了非常多的工作,里面的部分地方引用了其它的小方法。
那么针对这样的情况,我们首先需要保证引用的小方法是对的,确保我们得到正确的数据,这些小方法是否是可靠的,那么就需要写对应的单元测试案例。但是一个大方法含有的小方法太多的时候,手写单元测试会是一个很痛苦的事情。这个时候我们就可以使用CodeGeeX的能力了。
3. 生成代码注释
一键对方法生成注释。
甚至可以直接把这个方法转换为其它语言的方法。
通过多个项目的开发经历来说,使用CodeGeeX以后,曾经一些针对百度的搜索筛选的耗时减少了大概有20%,过去一个方法不知道怎么调用的具体来说比如hutool 里面时间转换是怎么用的。我需要去百度搜索,然后打开对应的博客,然后再找到具体的那一行代码。有的时候,博文里面根本就没写,导致不得不再次查找其它的博文。 而当使用了CodeGeeX以后,我比如写到了时间转换这里的时候,它的代码补全耗时也就是1秒,这个提升是巨大的。对比以前没用CodeGeeX的时候,我现在开发过程中百度搜索的次数明显下降了很多。这在提升工作效率方面来说,帮助也是巨大的。
当然在一些未知领域,比如我是写Java的。但是对应游戏,我并不会写。我有时候就会想要写一个小游戏来自娱自乐,或者说好奇心作祟想要知道游戏到底是怎么开发出来的。对此我会给CodeGeeX下指令,比如说让它写一个贪吃蛇游戏出来。它也能开发出来。
过去不懂游戏是怎么开发的,就觉得非常难,当然也有在百度里面去搜索过,但是基本不会有什么收获。最多就是下载一份游戏下来,有些游戏的代码是被压缩过,有些由于里面的算法太过于复杂以至于压根没心情看下去。所谓的太长不看就是这个心理。 但是有 了CodeGeeX以后,我发现原来贪吃蛇是这么写的。里面的核心算法就是针对方向键的控制。以及四周墙壁的设置。还有尾巴加长,位移等等。正所谓不会才觉得难,会了也就是那么一回事。
那么,说了这么多,怎么安装呢?您可以到IDEA的插件市场搜索CodeGeeX, 如果你使用的是VSCode,也可以到插件市场搜索。
结论:AI工具无疑是提高人类生产力的得力帮手,善用AI工具的人也必将成为新时代的翘楚。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。