<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 智能計算 > 設計應用 > ChatGPT 五分鐘寫(xiě)完插件,功能完善,還可加需求改 BUG

ChatGPT 五分鐘寫(xiě)完插件,功能完善,還可加需求改 BUG

作者:詹士 時(shí)間:2023-02-10 來(lái)源:量子位 收藏

寫(xiě)代碼,水平究竟如何?

本文引用地址:http://dyxdggzs.com/article/202302/443241.htm

不到 5 分鐘,做出一個(gè) WordPress(一款內容管理系統軟件)插件,且代碼很干凈。

ChatGPT 五分鐘寫(xiě)完插件,功能完善,還可加需求改 BUG

測試者名叫 David Gewirtz,是一位 1982 年進(jìn)入 IT 行業(yè)的老炮,供職過(guò)的公司包括:賽門(mén)鐵克、蘋(píng)果、Pyramid Technology。

即使擁有 40 年從業(yè)經(jīng)驗,他在見(jiàn)識 能力之后,還是不禁發(fā)出感慨:

本以為不會(huì )有太多驚喜,沒(méi)成想,還是嚇了一跳。

在評測文章中,他還表示這一切既令人著(zhù)迷,又令人驚訝,同時(shí)還令他恐懼。

ChatGPT 五分鐘寫(xiě)完插件,功能完善,還可加需求改 BUG

所以,他具體是怎么做的測試?

我們一同來(lái)看下。

精力不夠, 來(lái)湊

此番 David 老哥之所以要用 ChatGPT 寫(xiě)代碼,源于他妻子在運營(yíng)電商網(wǎng)站,每月,她需要根據客戶(hù)群組名單隨機選出一部分名字,生成輪播動(dòng)畫(huà)。

過(guò)去,David 老哥的妻子用一個(gè)網(wǎng)站生成隨機名單,不過(guò),該服務(wù)要收費,且不便宜。于是,老哥決定發(fā)揮“技術(shù)功力”,自己寫(xiě)一個(gè) WordPress 插件,幫助妻子“降本增效”。

那么問(wèn)題來(lái)了 —— 即便是小小 WordPress 插件,也需要好幾天去完成,這當中需添加用戶(hù)界面元素,也要編寫(xiě)邏輯代碼,鑒于自己實(shí)在太忙,于是,David 想到 ——

最近 ChatGPT 不是很火么?要不試試?

說(shuō)干就干,他先寫(xiě)了第一個(gè)提示,描述想要的文字(代碼)到底是什么。

具體如下:

編寫(xiě)一個(gè) PHP 8 兼容的 WordPress 插件,它提供一個(gè)文字輸入區域,可將列表粘貼進(jìn)去,還帶有一個(gè)按鈕,按下可將輸入條目隨機排列再顯示出來(lái)。

不到一分鐘,代碼就生成出來(lái)了:

△ 圖源:David Gewirtz / ZDNET

測試者將上述代碼復制到一個(gè).php 文件中,壓縮并上傳服務(wù)器。

唔,親測有效。

當他將該插件拿給妻子看,對方一臉驚訝,不過(guò),她馬上加了新需求:重復的名字不能挨著(zhù)。

于是,碼農 ChatGPT 有了新任務(wù)。

需要保證相同條目不會(huì )挨著(zhù)(除非沒(méi)有其他選項)… 此外,輸入條目數與結果條目數得相同。

30s 后,結果來(lái)了。

老樣子,上傳服務(wù)器并測試 —— 有效,但輸出包含了空行。

那提示它一下。

… 不能有空行…

A Few Moments Later……

結果又來(lái)了,測試結果沒(méi)問(wèn)題。

繼續加大力度,測試者希望該插件能統計一下處理了多少行數據。

結果 ChatGPT 照樣能完成。

讓我們一起看看,這款插件的最終形態(tài),功能還挺完善:

ChatGPT 五分鐘寫(xiě)完插件,功能完善,還可加需求改 BUG

△ 能生成相應 UI 并處理一行行數據 圖源:David Gewirtz / ZDNET

總結一下。

老哥認為,ChatGPT 生成代碼親測有效,滿(mǎn)足了需求,其中編寫(xiě)了 UI 界面及處理邏輯,從代碼本身看也很干凈。

不過(guò),問(wèn)題也不是沒(méi)有。

其中一個(gè)瑕疵是 —— 代碼里面并未包含 WordPress 的全部最優(yōu) / 最標準的實(shí)現方法,如未進(jìn)行清理用戶(hù)輸入,此項處理意味著(zhù),黑客無(wú)法在字段中填充或破壞數據,在 WordPress 社區也有嚴格要求。

為此,作者嘗試讓 ChatGPT 調整下。結果它調了,但又沒(méi)完全調…… 代碼只清理了 PHP 函數輸入端,但并未清理用 HTML 調用 PHP 時(shí)的輸入,這會(huì )讓黑客仍能鉆空子。

另一個(gè)問(wèn)題是,作者要求 AI 編程同時(shí)為插件命名,它卻生成了一個(gè)完全不同的插件。

且后續測試者試圖添加更多功能,也無(wú)法實(shí)現,說(shuō)明代碼維護方面 ChatGPT 也不是很擅長(cháng)。

最后,測試的老哥談了談自己的感想。

目前,ChatGPT 編寫(xiě)一個(gè)簡(jiǎn)單插件倒是沒(méi)問(wèn)題,整個(gè)過(guò)程還是讓他眼前一亮的。

不過(guò)這仍是個(gè)簡(jiǎn)單任務(wù),相當于一次大學(xué)生作業(yè),與之對比下,維護 50000 個(gè)用戶(hù)的開(kāi)源插件肯定更為復雜。

網(wǎng)友:可能插入惡意代碼

值得一提的是,這位老哥還問(wèn)過(guò)網(wǎng)友 —— 對用 ChatGPT 生成代碼擔心什么,并自己給出看法。

有人擔心,AI 會(huì )冷不丁在程序中加入惡意代碼或促銷(xiāo)信息,對此,測試者補充道,至少在上述編程中,ChatGPT 生成代碼是干凈的。

也有人認為,它無(wú)法給出最佳代碼,測試者針對該問(wèn)題認為功能性能滿(mǎn)足即可,足夠好就足夠了。

還有人擔心它會(huì )替代人類(lèi)程序員的工作,此番測試的 David 也有同感。

最后問(wèn)問(wèn),你讓 ChatGPT 敲過(guò)代碼么?效果如何?

參考鏈接:

  • [1]https://www.zdnet.com/article/i-asked-chatgpt-to-write-a-wordpress-plugin-i-needed-it-did-in-less-than-5-minutes/

  • [2]http://davidgewirtz.com/

  • [3]https://twitter.com/DavidGewirtz



關(guān)鍵詞: ChatGPT

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>