之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ?

官网及申请地址:https://copilot.github.com/


小作文包含如下内容:

  • copilot简单介绍

  • 使用python对copilot做些简单使用测试

  • 使用copilot对LeetCode 题目解答


一、copilot简单介绍

github copilot(副驾驶)目前只适用于vscode的扩展插件,它依赖于github数十亿公开代码库的训练而成的AI编码辅助器(包括整行代码提供或函数建议),目前支持数十种编程语言,技术预览版对 Python、JavaScript、TypeScript、Ruby 和 Go 的表现尤其出色。

他的工作原理:通过大量公共代码库对AI模型训练后构建成copilot服务,服务接收来自copilot插件返回的提要编码,并提供代码建议,插件又将来自程序员对建议的采纳性的回传到copilot服务,如此反复强化AI模型。

下图以蔽之:


二、使用python对copilot做些简单使用测试

在vscode插件中我们安上Github Copilot,建一个测试文件Copilot_test.py

1.获取列表的最大和最小值的函数

我们要写的可能看起来是这样的

'''
Function to get the max and min values of a list
'''
def get_max_min(my_list):
max_value = max(my_list)
min_value = min(my_list)
return max_value, min_value def main():
my_list = [1,2,3,4,5]
max_value, min_value = get_max_min(my_list)
print("Max value:", max_value)
print("Min value:", min_value) if __name__ == "__main__":
main()

注释是copilot的关键部分,所有AI的是基于大数据的应用,甚至可以把copilot简单的认为是对github代码库的检索...

2.一个计算器

copilot给出的建议允许我们进行选择,通过Alt+[,Alt+]对建议上下查看。

我们可以使用Ctrl+Eeter打开建议结果面板,可以看到对应这些建议,copilot给了我们是10个解决方案


三、使用copilot对LeetCode 题目解答

我们在LeetCode找一题【回文数】,题目如下:

然后我们把题目写到代码注释中

代码区的类也加过来

看起来我们的代码就是这样的,灰色code的copilot给出的建议

我们选择其中一种建议放到LeetCode的执行看看

这个建议似乎不太理想...勇敢牛牛不怕困难,有兴趣的同学可以看看困难模式的题目哦,PS:对于中文的注释不确定copilot能百分之百给出回应。


copilot就像它的名字一样【副驾驶】,正经事还是得你来干,不过未来可能会一个不错的协助工具。


文章有不足的地方欢迎在评论区指出。

欢迎收藏、点赞、提问。关注顶级饮水机管理员,除了管烧热水,有时还做点别的。

最新文章

  1. cookie 保存导航菜单的展开状态
  2. 获取当前3Ds MAX版本
  3. 华为OJ平台——输出最小的k个数
  4. 11.9Daily Scrum
  5. MySQL-视频跟随练习笔记
  6. ETL-Career RoadMap
  7. Maven基础
  8. java中方法的参数传递机制
  9. Java策略模式以及来自lambda的优化
  10. iOS Storyboard unwind segues使用小结
  11. [dotnet] 封装一个同时支持密码/安全密钥认证的SFTP下载器,简单易用。
  12. 用EditPlus和jdk写Java代码
  13. angular笔记_5(全选/反选)
  14. Fibonacci快速实现(优化)
  15. ASP入门(十二)-Application对象
  16. POJ 3580 - SuperMemo - [伸展树splay]
  17. 基于server broker 的数据实时更新
  18. 推荐 远程部署 fabric
  19. .Net 数据缓存浅析
  20. php+Mysql中网页出现乱码的解决办法详解

热门文章

  1. 解决1字节的UTF-8序列的字节1无效问题
  2. Go语言协程并发---等待组sync.WaitGroup
  3. GO语言的JSON01---序列化
  4. Python+Selenium - 窗口切换
  5. ARM Cortex-M嵌入式C基础编程(上)
  6. 【译】.NET 5 中的诊断改进
  7. python读取配置文件,yaml模块读取yml文件
  8. 题解-P3810
  9. RobotFramework常用断言关键字
  10. 【NX二次开发】开发好几年,还只会用ufusr?其他用户出口函数介绍