之前大佬和我安利過 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!!!
讚美開源!!!
最後。
有個毛線最後。
該花錢花錢,能讓你我早點下班的,
都是好東西~