Github Copilot 比在座各位更會寫程式碼。jpg

2023-03-22 18:01:12

之前大佬和我安利過 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 確實比我更會寫程式碼!!!

import 對應的包 ,測試組態檔。

程式碼完美Work,打包部署正常。

讚美AI!!!

讚美Github!!!

讚美開源!!!

 

 


最後。

有個毛線最後。

該花錢花錢,能讓你我早點下班的,

都是好東西~