Skip to content

Latest commit

 

History

History
61 lines (36 loc) · 2.99 KB

copilot-in-practice.md

File metadata and controls

61 lines (36 loc) · 2.99 KB

Copilot最佳实践总结

Copilot实践使用总结

开发阶段实践使用总结

  1. 根据上下文自动生成代码

Copilot对于重复性(或者近似性)的代码编写,可以快速生成代码,节省代码编写的时间,同时提高了准确性

eg:先定义好数据结构,Copilot会自动生成对应国家区号的代码

  1. 根据注释(函数名)生成代码

如果遇到不会的问题,可以通过写注释或者函数名,生成指定代码,节省查阅资料时间

eg:根据注释生成正则表达式

  1. 生成测试用例

利用上下文和注释(函数名)快速生成测试用例

  1. 代码转换

eg:重构时可以将java代码转换为golang代码

测试调优阶段使用总结

  1. 增加清理调试日志

当需要自动增加/清理日志时,可以使用Copilot labs的增加/清理日志功能

  1. 修复bug及增强健壮性

Copilot labs可以检测出代码的bug,从而修复

Copilot labs可以提高代码的健壮性及复用性

  1. 解释注释函数

Copilot labs可以解释整个函数

Copilot labs可以为关键逻辑代码添加注释

Copilot实践经验总结

  • 正确理解Copilot定位 - Copilot是编程辅助工具,仍需开发者审查代码逻辑、语义、质量等方面,必要时进行修改或重写,才能将Copilot生成的代码应用到项目中
  • 规范注释 - 编写清晰、规范的注释能显著提高Copilot生成符合预期结果的可能性
  • 侧重重复基础性代码生成 - 自动生成常见重复基础性代码片段是Copilot的重要特性,可以减少开发人员大量重复编码工作量。但对于业务逻辑较为复杂的代码,Copilot生成的质量仍存在不准确,需要更多依靠工程师自己编写业务核心代码
  • 加强代码Review与测试 - 对于Copilot生成的代码,需要增加代码Review和测试的力度,从流程上保障代码质量、安全、正确性等方面检查,发现Copilot代码中的问题和不足之处
  • 善用Copilot代码自动生成(注释、函数名)以及测试(生成测试用例)、调优(代码重构)功能,能帮助我们提升至少15%的工作效率
  • Copilot会随着使用的加深,效果越来越好,因为它会分析项目代码上下文,给出最合适的代码建议

Copilot目前存在的问题及建议

  • 网络不稳定:建议通过VPN使用Copilot,可大大提高稳定性
  • 隐私问题:Copilot官方承诺商用账号的代码是不会用于代码分析的,因此可以不必担心代码泄露的问题
  • 安全问题:任何工具的使用都会带来安全问题,Copilot工具的引入利大于弊,建议通过代码review以及测试来减少或规避Copilot带来的代码安全问题
  • IDE兼容问题:Copilot Labs&Copilot X是对Copilot功能的增强,这两种插件均只支持VSCode,暂不支持Jetbrans系列IDE。建议切换VSCode IDE

    When will Copilot X support running on IntelliJ IDEA?