找回密码
 会员注册
查看: 32|回复: 0

如何与ChatGPT4结对编程提升研发效率

[复制链接]

6

主题

0

回帖

19

积分

新手上路

积分
19
发表于 2024-9-20 23:49:38 | 显示全部楼层 |阅读模式
作者:cheneyChatGPT4相比ChatGPT3.5在逻辑推理能力上有了很大的进步,他的代码生成能力更是让我非常震撼,因此我尝试在工作中某些不涉密的基础工作应用ChatGPT4来提升研发效率,简单尝试之后发现确实有不少场景是有效的。本文将向大家展示如何充分利用ChatGPT-4这一强大的AI工具,并结合结对编程方法,从而在研发过程中实现显著的效率提升。重要提示:大家在作相应尝试的时候,一定要注意信息安全。场景一:正则表达式编写我们团队负责PCG可观测平台-伽利略的研发,PromQL是可观测领域常用的查询语言,Protobuf这种协议有自带基于正则表达式的参数检查器,因此我们需要写一个正则表达式,来检测PromQL的合法性,以便于尽早的发现不合法的PromQL,抛出错误,降低底层引擎的压力。这个需求,按经验至少得花超过一小时编码及单元测试,得翻阅不少PromQL手册,正则表达式的手册。我们试着把这个任务交给ChatGPT4。ChatGPT4写了一个很复杂的表达式,并且告诉我们这个需求是不合理的,完美的语法检测得要实现一个语法分析器,而不是正则表达式。这里我完善我的需求,我们在接入层的正则应该在乎精确率,忽略召回率,旨在尽早发现一部份错误,而不是全部错误。这一次,看上去还不错,但是我懒,不想仔细看,我又不放心他写。所以我要求他自己写个单测,进行充分的自测。ChatGPT4写的单测非常的Readability,他还知道表驱动的方式写测试数据。咱们把代码run起来:有一个测试用例没过,把这种情况告诉ChatGPT4,让他自己解决吧。ChatGPT4说要解决这个问题,必须引入更复杂的表达式。这不是我们想要的结果,因此我们还是选择了更简单的正则表达式交付需求,做一些简单的检查,更复杂的检查就交给promql语法解析器去做。所以我花5分钟,发现了需求的不合理,选择了最符合业务需求的方案,并且还写完了我们想要的正则表达式。并且代码非常Readability,同时有单测。场景二:重构代码我们写代码的过程中,往往会因为疏忽,而产出各种bug和坏味道。我们来试试ChatGPT4能帮我们做什么。下面随机找了一段我们代码仓库里面的不涉密基础代码,发给ChatGPT4。package stringsimport ( "fmt" "regexp" "strconv")var reOfByte = regexp.MustCompile(`(\d+)([GgMmKkBb]?)`)// arseByteNumber 解析带有容量的字符串func arseByteNumber(s string) int64 { arr := reOfByte.FindAllStringSubmatch(s, -1) if len(arr) 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 14:07 , Processed in 1.437748 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表