- 根据上下文自动生成代码
Copilot对于重复性(或者近似性)的代码编写,可以快速生成代码,节省代码编写的时间,同时提高了准确性
eg:先定义好数据结构,Copilot会自动生成对应国家区号的代码
- 根据注释(函数名)生成代码
如果遇到不会的问题,可以通过写注释或者函数名,生成指定代码,节省查阅资料时间
eg:根据注释生成正则表达式
- 生成测试用例
利用上下文和注释(函数名)快速生成测试用例
- 代码转换
eg:重构时可以将java代码转换为golang代码
- 增加清理调试日志
当需要自动增加/清理日志时,可以使用Copilot labs的增加/清理日志功能
- 修复bug及增强健壮性
Copilot labs可以检测出代码的bug,从而修复
Copilot labs可以提高代码的健壮性及复用性
- 解释注释函数
Copilot labs可以解释整个函数
Copilot labs可以为关键逻辑代码添加注释
- 正确理解Copilot定位 - Copilot是编程辅助工具,仍需开发者审查代码逻辑、语义、质量等方面,必要时进行修改或重写,才能将Copilot生成的代码应用到项目中
- 规范注释 - 编写清晰、规范的注释能显著提高Copilot生成符合预期结果的可能性
- 侧重重复基础性代码生成 - 自动生成常见重复基础性代码片段是Copilot的重要特性,可以减少开发人员大量重复编码工作量。但对于业务逻辑较为复杂的代码,Copilot生成的质量仍存在不准确,需要更多依靠工程师自己编写业务核心代码
- 加强代码Review与测试 - 对于Copilot生成的代码,需要增加代码Review和测试的力度,从流程上保障代码质量、安全、正确性等方面检查,发现Copilot代码中的问题和不足之处
- 善用Copilot代码自动生成(注释、函数名)以及测试(生成测试用例)、调优(代码重构)功能,能帮助我们提升至少15%的工作效率
- Copilot会随着使用的加深,效果越来越好,因为它会分析项目代码上下文,给出最合适的代码建议
- 网络不稳定:建议通过VPN使用Copilot,可大大提高稳定性
- 隐私问题:Copilot官方承诺商用账号的代码是不会用于代码分析的,因此可以不必担心代码泄露的问题
- 安全问题:任何工具的使用都会带来安全问题,Copilot工具的引入利大于弊,建议通过代码review以及测试来减少或规避Copilot带来的代码安全问题
- IDE兼容问题:Copilot Labs&Copilot X是对Copilot功能的增强,这两种插件均只支持VSCode,暂不支持Jetbrans系列IDE。建议切换VSCode IDE