Github Copilot 比在座各位更会写代码。jpg

之前大佬和我安利过 Copilot,

作为一个能用就行的践行者,

我一贯对这些东西都不太感兴趣。

 

就如我多年VS Code写各种编程语言,

jetbrains 全家桶我都懒得搞~

 


 

不过最近看到过ChatGPT写的代码,

不得不承认人家甚至比绝大多数初级程序员写得更好。

于是我某天下午折腾了一下开通了Github Copilot权限,

开始了为期60天的试用~

 

VS Code装好插件,登录好了自己的Github账号....

然后...

没了???

嗯,这确实是我的第一感受。

我怎么知道是VS Code插件给的智能提示,

还是Copilot给的推荐代码呢?

 

发完上面的消息,随便写了两行代码。

开始“见证” Copilot的魅力了。

default_team.creater_id = 0 // 这一行还是我写的。

第二行只是写了 de , copilot 提示我是不是需要赋值 admin_name。

很强,很强~

 

单单凭借这一点,

大概能让我少写20%左右的代码。

很是有趣。

 


但是,仅此而已吗?

再来看下~

生成函数的注释说明~

根据上下文生成注释~

实话讲到这里,

我觉得 copilot 比我更懂这个项目代码了,

 

一个月10刀我心甘情愿~

 


又过了两天,这个Python项目开始折腾打包部署~

项目依赖 alembic 实现数据库自动变更结构。

一般操作是在Python + alembic 环境下执行 "alembic upgrade head " 即可。

但是我们的交付是个绿色包,理论上在宿主机上是不会直接”具备“Python环境的。

(PS:其实在我们的程序内部打包了Python解析器)

于是,我就得研究如何在Python程序中直接调用 alembic~

 

花了一个下午,最终实现的是

def create_app():
    app = FastAPI()

    @app.on_event("startup")
    async def startup_event():
        subprocess.run(["python", "-m", "alembic", "upgrade", "head"])
        logger.trace("startup")

使用 subprocess 直接调用Python 包。

倒...凑合能用。

然鹅在周一的时候发现,

运维老师焦头烂额和我讲部署还没好,

打包成绿色版本依旧还是有问题~

 

于是我打开了项目代码,

注释了 “ # subprocess.run(["python", "-m", "alembic", "upgrade", "head"])”

输入了 alembic_cfg ,

copilot 给出了它的提示...

 

这时候,确实把我惊呆了。

我苦苦找了一下午的逻辑,

看了不少的文档 + 教程

+ stackoverflow 都没找到的答案,

 

它轻而易举告诉我了...

 

他喵的copilot 确实比我更会写代码!!!

他喵的copilot 确实比我更会写代码!!!

他喵的copilot 确实比我更会写代码!!!

 

import 对应的包 ,

测试配置文件。

 

代码完美Work,打包部署正常。

 

赞美AI!!!

赞美Github!!!

赞美开源!!!

 

 


最后。

有个毛线最后。

该花钱花钱,

能让你我早点下班的,

都是好东西~

 

还是应该拥抱变化的~

 

 

posted @ 2023-03-22 17:30  李国宝  阅读(296)  评论(2编辑  收藏  举报