当前位置: 首页 > news >正文

chatGPT陪你读源码

概述

chatGPT从2022年11月份崭露头角以来,一直备受关注。他的人工智能对话颠覆了以往智能对话的刻板印象,跟chatGPT聊天,感觉就像百晓生一样,什么都懂。尤其在编程方面,chatGPT可以根据实际的业务场景需求,编写业务代码,也可以对代码进行优化,改错,本文结合目前的chatGPTBox插件,来演示,如何让chatGPT陪你一起读源码。

准备

chatGPTBox

  • 项目链接: https://github.com/josStorer/chatGPTBox
  • 使用指南: https://github.com/josStorer/chatGPTBox/wiki/Guide
  • 开发构建: https://github.com/josStorer/chatGPTBox/wiki/Development&Contributing

目前该项目已经在谷歌chrome以及火狐firefox的插件商城上线了,可以直接在插件市场进行安装

谷歌:https://chrome.google.com/webstore/detail/chatgptbox/eobbhoofkanlmddnplfhnmkfbnlhpbbo

火狐:https://addons.mozilla.org/zh-CN/firefox/addon/chatgptbox/

chatGPT API Key

使用个人账号登录到openai.com,打开 https://platform.openai.com/account/api-keys 管理API keys

创建一个secret key,来调用openai.com的接口服务,每个账号都有18美元的免费额度

配置chatGPTBox

将secret key配置到chatGPTBox,即可完成

演示

这里我摘取了gin-vue-admin的一个代码片段,来进行演示

func (userService *UserService) Login(u *system.SysUser) (userInter *system.SysUser, err error) {
	if nil == global.GVA_DB {
		return nil, fmt.Errorf("db not init")
	}

	var user system.SysUser
	err = global.GVA_DB.Where("username = ?", u.Username).Preload("Authorities").Preload("Authority").First(&user).Error
	if err == nil {
		if ok := utils.BcryptCheck(u.Password, user.Password); !ok {
			return nil, errors.New("密码错误")
		}
		MenuServiceApp.UserAuthorityDefaultRouter(&user)
	}
	return &user, err
}

代码概要Summary

选中一段代码,点击chatGPTBox的Summary,可以让chatGPT简要解释这段代码的功能

在这里插入图片描述

代码优化Polish

选中一段代码,点击chatGPTBox的Polish按钮,可以让chatGPT对这段代码进行优化

在这里插入图片描述

解读代码

选中一段代码,点击chatGPTBox的Code explain按钮,可以让chatGPT对这段代码进行详细解读

在这里插入图片描述

增加代码注释

在对话框中,输入 “增加中文注释”,即可得到对该代码的详细注释

在这里插入图片描述

增加Swagger接口注解

在上下文中,输入"增加swagger接口注解",chatGPT可以理解后,返回注解代码

在这里插入图片描述

总结

chatGPTBox集成了chatGPT的api接口,实现了我们在看源码时候,可以快速地帮我们来理解代码片段的意思,从而可以更加快速地掌握产品源码,就像一个编程高手随时在身边一样。

相关文章:

  • 37了解高可用技术方案,如冗余、容灾
  • 细思极恐,第三方跟踪器正在获取你的数据,如何防范?
  • 如何同时处理多个聊天
  • 一些idea操作
  • 【Java 并发编程】一文读懂线程、协程、守护线程
  • C++/MFC工程[4]——绘制直线段
  • 人民大学与加拿大女王大学金融硕士——你终究会成为你想成为的人
  • 动静态库的制作
  • Python入门(4)语法、变量和标识符、数据类型、字符串、布尔值、类型检查、对象、类型转换、运算符
  • 接收机中的非线性因素来源与模型
  • 统计字典序元音字符串的数目 (回溯/dfs/动态规划/压缩/数学)
  • 5个python常用的装饰器!
  • OpenFeign 源码解读:动态代理+负载均衡实现
  • Java Web应用开发——作业四
  • 什么是谷歌快排技术,谷歌排名推广霸屏的原理
  • 【刷算法】从上往下打印二叉树
  • 2017-09-12 前端日报
  • download使用浅析
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java,console输出实时的转向GUI textbox
  • Nodejs和JavaWeb协助开发
  • NSTimer学习笔记
  • Redis的resp协议
  • SOFAMosn配置模型
  • spring学习第二天
  • 给github项目添加CI badge
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #、%和$符号在OGNL表达式中经常出现
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (LeetCode 49)Anagrams
  • (第二周)效能测试
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (一)插入排序
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)负载均衡,回话保持,cookie
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .net项目IIS、VS 附加进程调试
  • .NET运行机制
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • [14]内置对象
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复
  • [github配置] 远程访问仓库以及问题解决
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [IE编程] 如何在IE8 下调试BHO控件/工具栏(调试Tab进程)
  • [Java]深入剖析常见排序