看不懂程式碼?AI給你做翻譯 說人話的那種

GitHub Copilot,最近又出了個新功能。

這一次,它不再是幫你寫程式碼了,而是充當一個「翻譯官」:

用「人話」告訴你,這段程式碼到底寫了啥。

瞧,只需要選中一段程式碼,然後點一下旁邊的「Ask Copilot」,就會快速得到程式碼的「人話版」解釋:

看不懂代码?AI给你做翻译 说人话的那种

示例中的程式碼片段是這樣的:

看不懂代码?AI给你做翻译 说人话的那种

Copilot對此進行「翻譯」後,輸出的內容是:

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

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

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

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

返回max_int。

這便是GitHub Copilot的最新功能——Explain Code。

之前Copilot是基於人類的注釋生成程式碼,現在好了,它也學會了反向輸出。

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

看不懂代码?AI给你做翻译 说人话的那种

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

AI給程式碼做注釋,有必要嗎?

不僅是Copilot,「AI給程式碼做注釋」這事最近在Reddit也比較火。

看不懂代码?AI给你做翻译 说人话的那种

有位貼主上傳了他用AI技術,給程式碼做注釋的demo。

不同於Copilot的Explain Code,這個AI不會非常詳盡地去描述每行程式碼運行的過程。

而是概括性地去講「這段程式碼是幹嘛的」。

以下面這個程式碼片段為例:

看不懂代码?AI给你做翻译 说人话的那种

在AI「解讀」過後,它就會告訴你:

這段程式碼是用來從GitHub的Repo中收集數據。

會返回一個數據的矩陣。

再如下面這個程式碼片段:

看不懂代码?AI给你做翻译 说人话的那种

AI給出的注釋是:

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

而後它還會對函數中的變數依次做解釋。

看似不錯的效果,但依舊還是引來了網友們激烈的討論。

「樂觀派」網友認為:

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

看不懂代码?AI给你做翻译 说人话的那种

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

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

看不懂代码?AI给你做翻译 说人话的那种

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

看不懂代码?AI给你做翻译 说人话的那种

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

看不懂代码?AI给你做翻译 说人话的那种

那麼對於「AI給打碼寫注釋」這件事,你覺得是否有用呢?

Tags: