Curve 是云原生计算基金会 (CNCF) Sandbox 项目,是网易主导自研和开源的高性能、易运维、云原生的分布式存储系统。
基于 ChatGPT 的 code review!来 Curve 开源社区体验
前言
部署配置
参考[1]:
安装 bot 的 GitHub APP;
安装好之后,在APP页面设置 Configure;
选择你要应用到的账号及代码仓库(tip. 需要目标代码库的管理员权限);
之后进入到代码库的主页,选择 Settings;
进入 Secrets and variables -- Actions;
注意切换到 variables tab,再进行 New repository variable;
填入 name 和 value name 是 OPENAI_API_KEY; value 就是 openai 的key;
试用效果
Curve代码库(C++): https://github.com/opencurve/curve/pull/2285
CurveAdm代码库(golang):
https://github.com/opencurve/curveadm/pull/194
大家可以在 GitHub 上自行查看 PR 的 review 效果,这里截图几个觉得有代表意义的代码 review 结果:
→ https://github.com/opencurve/curveadm/pull/191/files
这个评审意见不需要解释,还是比较有效的。
增加简单功能的 commit 可以理解代码意图,这一点还是很不错的。
不足之处:
多次提交同样的代码,每次给出的 review 结果是不相同的,可能某次的评审建议是相对更合理且全面的,其他的几次不一定,或许需要让他多 review 几次,然后再综合几次的评审意见进行代码评估;
无法完整的理解某个大的功能特性的设计方案和实现思路,举个形象的栗子,组内A同学从来没有参加过功能点X的方案设计和评审工作(主要由B同学负责),让A同学直接去 review B 同学提交的代码,就有类似的效果,只能理解函数或代码片段,没有全局意识;
个别 review 建议不一定正确,需要再进行人工判断,这一点也类似人工 review,代码评审人提的建议也不一定是正确的;
太长的新增的源文件,好像会无法 review;
如果没有别的建议,bot 会给出一堆通用建议,比如增加 UT 用例、lint 检查、注释、log等(这一点也不能说是不足
其他:
相信不少同学对 ChatGPT 在协同 coding 领域有自己奇妙的想法,欢迎来 Curve 开源社区实践。
参考[1]:
关于 Curve
Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。
GitHub:https://github.com/opencurve/curve 官网:https://opencurve.io/ 用户论坛:https://ask.opencurve.io/ 微信群:搜索群助手微信号 OpenCurve_bot