Github Copilot这个产品,我从2023年1月使用至今也有一年半的时间了,当初试用一个月后感觉太惊艳了,果断正版续费了一年(我用的个人版)。随着产品越来越好,功能越来越丰富,版本越来越多,尤其今年2月底还推出了Github Copilot Enterprise版本,给企业带来了更多选择。期间我也尝试着用过一些免费的Code Copilot产品,例如Bito、Cursor等,但是效果远比不上Github Copilot。
或许你没使用过Github Copilot,或许现在你只是一个Github Copilot的初级使用者,或许你只是单纯的在使用之前没有过多的思考过,那这篇文章你一定要耐心的看下去,相信你一定会感受到从不同的视角去看待和使用Github Copilot。话不多说,直接上干货。
GIthub Copilot基本功能
首先我先简单介绍下Github Copilot这款产品。它本质上是一个代码编程助手,可以使我们更快速的写代码,更有质量的写代码。其核心功能如下:
智能代码补全。
Chat模式下,根据需求生成代码。
根据注释,生成代码。
生成测试代码。
逆向工程,进行代码解析。
潜在bug分析并给出修改建议。
优化代码。
生成代码注释。
解决项目错误。
基本功能的使用我就不具体演示了,因为插件用个半天就会上手,很简单。下面重点说的是,如何活用这些功能,上面最后那条其实就是一个好的活用例子,用AI解决项目的错误。例如有一个项目在IDE中运行时控制台报错,传统的方式,需要我们自己去定位问题,分析错误原因,寻找解决方案。现在我们可以把错误内容作为prompt直接粘贴到Github Copilot Chat中,让AI去给我们分析和帮助我们解决问题。
GIthub Copilot最佳实践方式
场景1:对已有项目进行代码修改
我们大多数时候所做的项目都不是一个新项目,可能是在已有工程的基础上进行代码的修改,下面是在作业过程中,使用Github Copilot在这个流程下好的实践方式。

第一步:推荐开发前,先使用【Explain This】对要改修的关联范围代码进行分析,加深业务理解,有助于明确修改位置。
第二步:使用【代码补全】+【基于注释生成代码】方式进行开发。在调试代码过程中遇到的问题,可以考虑把控制台的错误,使用Chat模式帮我们分析和解决。
第三步:使用【Simplify This】功能,对写完的代码进行优化。
第四步:使用【Fix This】功能,寻找和修复代码的潜在Bug。
第五步:使用【Generate Tests】功能,生成测试代码,并进行测试。如果测试OK,将代码给项目技术Leader进行Review,如果测试有问题,则继续修改代码,对应测试出现的问题,然后重复上面第三步之后的流程。
第六步:进行代码Review。如果代码Review OK,结束流程,如果代码Review 有问题,则继续对应Review出来的问题,然后重复上面第三步之后的流程。
场景2: 项目基盘搭建 + 写一本业务进行验证
这个场景适用于一个新项目,从0开始要搭建项目基盘,并且最后通过写一本业务代码对基盘进行检证,这种流程下好的实践方式。

第一步:在Github Copilot Chat模式下,结合具体业务场景,分析出基盘所需构成元素,确定基盘搭建方针。例如包含下面部分:
1、基盘如何分层
2、基盘需要哪些共通处理机制(异常、log、多环境等)
3、需封装哪些共通组件和工具类(邮件发送、缓存、消息队列等)
4、。。。
第二步:Chat模式为主、【代码补全】+【基于注释生成代码】为辅,进行基盘的构筑。
第三步:使用【Simplify This】功能,对写完的代码进行优化。
第四步:对基盘进行POC检证作业,如果POC检证OK,则进行下一步使用【Fix This】功能,如果POC检证有问题,对基盘代码进行修正后重复上面第三步优化代码的流程。
第五步:使用【Fix This】功能,寻找和修复代码的潜在Bug。
第六步:使用【Generate Tests】功能,生成测试代码,并进行测试。如果测试OK,将代码给项目技术Leader进行Review,如果测试有问题,则继续修改代码,对应测试出现的问题,然后重复上面第三步优化代码之后的流程。
第七步:对基盘代码进行Review。如果代码Review OK,继续后续流程,找一本业务代码进行作业,更进一步验证基盘;如果基盘代码Review 有问题,则继续对应Review出来的问题,然后重复上面第三步优化代码之后的流程。
第八步:找一本业务代码进行作业,更进一步验证基盘可靠性。如果该业务代码实装后没有问题,结束流程;如果作业过程中发现基盘问题,则继续修正基盘代码,重复上面第三步优化代码之后的流程。
-----------
以上给出了在Github Copilot使用过程中最佳的实践方式,大家在使用的过程中可以作为参考。
