看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

GitHub Copilot最近又出了個新功能。這一次,它不再是幫你寫代碼了,而是充當一個“翻譯官”:用“人話”告訴你,這段代碼到底寫了啥。瞧,只需要選中一段代碼,然後點一下旁邊的“Ask Copilot”,就會快速得到代碼的“人話版”解釋:

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

示例中的代碼片段是這樣的:

if len(l)=0: return Nonelse: max_int=l[0] for i in l if i>max_int max_int=i return max_int

Copilot 對此進行“翻譯”后,輸出的內容是:

定義一個函數 max_int (),它將一個列表作為輸入。

設置一個變量 max_int=l [0],它包含列表中的第一個元素。

設置一個 for 循環,迭代列表中的每個元素。

如果元素大於 max_int,便讓 max_int 等於 I。

返回 max_int。

這便是 GitHub Copilot 的最新功能 ——Explain Code。之前 Copilot 是基於人類的註釋生成代碼,現在好了,它也學會了反向輸出。

網友們的反應也是可想而知了:

網友反應

但在“新奇”之後,這件事也引發了不小的討論。

AI 給代碼做註釋,有必要嗎?

不僅是 Copilot,“AI 給代碼做註釋”這事最近在 Reddit 也比較火。

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

有位貼主上傳了他用 AI 技術,給代碼做註釋的 demo。不同於 Copilot 的 Explain Code,這個 AI 不會非常詳盡地去描述每行代碼運行的過程。而是概括性地去講“這段代碼是幹嘛的”。

以下面這個代碼片段為例:

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

在 AI“解讀”過後,它就會告訴你:

這段代碼是用來從 GitHub 的 Repo 中收集數據。會返回一個數據的矩陣。

再如下面這個代碼片段:

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

AI 給出的註釋是:

函數運行的是梯度下降算法。

而後它還會對函數中的變量依次做解釋。看似不錯的效果,但依舊還是引來了網友們激烈的討論。

“樂觀派”網友認為:

輔助寫註釋和寫測試比寫代碼的幫助大更多,而犯錯可能更少。

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

但有人質疑這種 AI 的能力:

如果我函數寫的特別亂、變量這名字亂糟糟的,它還能好使嗎?

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

也有人認為,諸如此類的 AI“沒有什麼用處”:

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

更形象一點的比喻,這種 AI 起到的作用,可能就是“復讀機”……

看不懂代碼不要緊 GitHub Copilot新功能:AI做翻譯 說人話的那種

那麼對於“AI 給打碼寫註釋”這件事,你覺得是否有用呢?

(0)
上一篇 2022-01-30 16:34
下一篇 2022-01-30 16:35

相关推荐