AI编码工具-通义灵码功能实测

  • 通义灵码功能介绍
  • 行级/函数级实时续写
  • 自然语言生成代码
  • 单元测试生成
  • 异常排错智能排查
  • 生成代码注释
  • 生成代码解释
  • 研发领域自由问答



在上一篇文章中,我介绍了通义灵码的功能以及支持的操作系统,主流IDE等,详细内容可以参考文章: 那么这一篇文章我将正式开始使用通义灵码,并记录操作感受。

通义灵码功能介绍

行级/函数级实时续写

通义灵码官方文档放在第一个介绍的功能,当然也是每一个开发者每天都会用到的功能,那就是写代码,一行一行的写代码,那么有了通义灵码之后呢,请看操作,这里我想把接收到的netschoolId放入model传入前端页面,当敲下model的时候,后面的代码通义灵码已经写完了,这时候只需要按【Tab】即可完成整行代码的书写

AI编码工具-通义灵码功能实测_通义灵码


或者写实体类时,直接复制sql查询字段到实体类,Alt + P可以看到自动生成的属性字段名称

AI编码工具-通义灵码功能实测_单元测试_02

自然语言生成代码

这里我输入【手机号中间】可以看到自动联想 手机号中间4位变星号

AI编码工具-通义灵码功能实测_单元测试_03


点击【Tab】补全中文提示语说明的同时会补充String类型手机号行代码,点击【Alt+P】补充手机号中间4位变星号代码

AI编码工具-通义灵码功能实测_实时续写_04


这样就完成了手机号中间4位变星号的操作,你输入的中文提示语可以直接作为注释。如果担心生成的代码有问题,我们可以直接加一个打印进行测试,输入Sys 点击【Tab】补全打印部分代码,执行

AI编码工具-通义灵码功能实测_自然语言处理_05


执行结果满足我们的需求。

单元测试生成

通常情况下,作为开发者,为了保证代码质量,我们经常会对我们编辑的业务逻辑进行单元测试,比如有一个方法需要生成单元测试,我们可以直接点击方法左上角的通义灵码标记选择【生成单元测试】

AI编码工具-通义灵码功能实测_通义灵码_06


或者也可以选中方法名右键【通义灵码】-【生成单元测试】

AI编码工具-通义灵码功能实测_实时续写_07


右侧通义灵码弹窗中生成的单元测试可以直接拿出来进行测试

AI编码工具-通义灵码功能实测_AI编程_08


点击右侧生成的单元测试代码的【新建文件】,会在当前文件夹下新建一个java类,点击【插入】或者【复制】单元测试代码到新建的java类中

AI编码工具-通义灵码功能实测_自然语言处理_09


由于我当前项目中没有引入Mockito库jar包,这里我使用Spring Test库重新生成,再次导入新生成的测试类

AI编码工具-通义灵码功能实测_实时续写_10


这里初版通义灵码不足之处:为什么点击单元测试【新建文件】时创建的java类名 testcase_169*.java文件名不是单元测试生成的SysNoticeControllerTest.java 的类名呢?只能手动更改类名,更改类名后

AI编码工具-通义灵码功能实测_实时续写_11


右键执行单元测试,报错,打印报错日志

AI编码工具-通义灵码功能实测_单元测试_12

异常排错智能排查

点击上一步报错日志的【Lingma】图标进行异常排错,但是这里点击【Lingma】图标并没有错误原因分析,IDEA开发工具正常,并没有卡住,一直是上面的点击异常排错之前的页面,并没有官方文档列举的错误原因

AI编码工具-通义灵码功能实测_自然语言处理_13


这里也是一个问题。另外就是由于数据训练有限,部分错误无法分析

AI编码工具-通义灵码功能实测_单元测试_14

生成代码注释

作为开发者来说,通常为了赶工期,会不太愿意写代码注释,或者代码注释写出来描述的不清楚造成误解,这都是常见的,那么通义灵码提供了生成代码注释功能,就显得很方便了,同样生成代码注释可以点击方法左上角【生成代码注释】

AI编码工具-通义灵码功能实测_自然语言处理_15


或者款选需要生成代码注释的代码段 右键 【生成代码注释】

AI编码工具-通义灵码功能实测_通义灵码_16

生成代码解释

生成代码解释和生成代码注释的操作是类似的,都是框选代码片段,右键选择【生成代码注释】或者【解释代码】,或者是点击方法左上角通义灵码标志选择【生成代码注释】或者【解释代码】

AI编码工具-通义灵码功能实测_实时续写_17


最后生成的代码解释的效果

AI编码工具-通义灵码功能实测_通义灵码_18


代码解释的内容和程序的内容完全匹配,并没有明显的错误解释,这点还是很棒的。

研发领域自由问答

说到研发领域自由问答,这个功能设置的是很贴心的。开发过程中,由于使用的默认框架,不太经常写jquery ajax方法,突然遇到需要写的时候,为了保证一遍写成功,通常会百度搜一下参数写法,比如

AI编码工具-通义灵码功能实测_自然语言处理_19


然后你需要从百度返回的各种博文里面找到你认为对的写法,这样就很耗时,需要自己筛选,那么有了通义灵码的研发领域自由问答之后呢?请看

AI编码工具-通义灵码功能实测_实时续写_20


通义灵码直接返回你需要的jquery ajax代码并且贴心的附上了ajax方法的解释说明,搜索耗时1秒完成,是不是瞬间感觉开发效率提升数倍了。到这里关于通义灵码的7大场景功能已经测试完了,整体上测试效果还是比较满意的。

但是异常报错智能排查可能训练的还不是很充分,目前没测试到可以识别出的异常情况。后续会继续使用,积极反馈使用过程中遇到的问题。