成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

重構(gòu)人工智能代碼:好的、壞的和奇怪的

人工智能
在軟件開發(fā)領(lǐng)域,生成式人工智能不再是一個新鮮事物:它越來越多地被用作編寫在現(xiàn)實生產(chǎn)中運行的代碼的助手。但是每個開發(fā)人員都知道從頭開始編寫新代碼只是他們?nèi)粘9ぷ鞯囊恍〔糠帧i_發(fā)人員的大部分時間都花在維護現(xiàn)有代碼庫和重構(gòu)其他人編寫的代碼上。

 在軟件開發(fā)領(lǐng)域,生成式人工智能不再是一個新鮮事物:它越來越多地被用作編寫在現(xiàn)實生產(chǎn)中運行的代碼的助手。但是每個開發(fā)人員都知道從頭開始編寫新代碼只是他們?nèi)粘9ぷ鞯囊恍〔糠帧i_發(fā)人員的大部分時間都花在維護現(xiàn)有代碼庫和重構(gòu)其他人編寫的代碼上。

當(dāng)這些手不是人類的,或者由人工智能副駕駛生成的時候,做維修工作是什么感覺?像GitHub Copilot,Vercel的v0或CursorIDE這樣的人工智能工具可以用來減輕負載嗎?以下了解人工智能革命的下一階段是如何進行的。

人工智能編寫代碼:有用,有時也很奇怪

很多開發(fā)者都對生成式人工智能作為開發(fā)過程一部分的有用性表達了不同程度的熱情。他們也承認人工智能生成的代碼有其怪癖,而這些怪癖可能會使其難以維護和重構(gòu)。

DevNag多年來一直在人工智能編碼工具領(lǐng)域工作,他是Query Pal的首席執(zhí)行官,這是一家專注于人工智能票證生成的軟件公司。他將重構(gòu)和維護人工智能生成代碼的過程描述為令人驚訝的挑戰(zhàn)。他說:“代碼通常在風(fēng)格和命名約定上缺乏一致性,這會使代碼庫感覺脫節(jié)。”“我花了很多時間清理和標(biāo)準(zhǔn)化人工智能生成的代碼,以適應(yīng)項目的慣例。”

IT服務(wù)和咨詢公司Pranshtech Solutions的首席執(zhí)行官、SaaS開發(fā)公司Textdrip的首席技術(shù)官、經(jīng)驗豐富的軟件開發(fā)人員Dhaval Gajjar對此表示贊同。他說:“基于人工智能的代碼通常在語法上是正確的,但往往缺乏人類開發(fā)人員對最佳實踐的理解所帶來的清晰度或潤色。”開發(fā)人員經(jīng)常需要清理變量名、簡化邏輯或重構(gòu)代碼以獲得更好的可讀性。

Innovative Solutions公司的首席技術(shù)官Travis Rehl致力于在云端遷移、現(xiàn)代化和構(gòu)建下一代系統(tǒng),對于他來說,使用人工智能編寫的代碼來重構(gòu)或維護它的奇怪之處可能會更深入。他說:“當(dāng)人工智能使用了不熟悉的模式或庫時,如果沒有對這些選擇的深刻理解,重構(gòu)可能會很有挑戰(zhàn)性。”“還存在打破人工智能可能創(chuàng)造的復(fù)雜依賴關(guān)系的風(fēng)險。這絕對是一種不同的體驗。您經(jīng)常使用既熟悉又陌生的代碼。人工智能可能會使用對人類開發(fā)者來說似乎不尋常的方法。”

Nag和Gajjar都注意到,人工智能生成的代碼可能比實現(xiàn)相同結(jié)果的人類編寫的代碼更復(fù)雜。根據(jù)Gajjar的說法,“眾所周知,人工智能工具會過度設(shè)計解決方案,因此生成的代碼比用于簡單任務(wù)的實際代碼更龐大。開發(fā)人員必須刪減一些多余的步驟,或者為了效率和可維護性,必須實現(xiàn)一個簡化的結(jié)構(gòu)。人工智能可以拋出一些并不總是必要的錯誤處理和邊緣情況。就好像它試圖炫耀它所知道的一切,即使一個更簡單的解決方案就足夠了。”

創(chuàng)新解決方案公司的Rehl很欣賞這種炫耀方式。“人工智能還會做一些事情,比如圍繞功能添加大量評論。這是一把雙刃劍。它對人類很有用,但它也給代碼庫增加了很多膨脹。但想想下次你使用人工智能的時候:你想要一些關(guān)于該功能目的的描述,以便人工智能稍后可以再次閱讀,以理解圍繞它的業(yè)務(wù)環(huán)境。”

人工智能克服自己的缺陷

盡管存在這些怪癖,但與我交談過的開發(fā)人員認為人工智能生成的代碼在軟件開發(fā)生命周期中占有一席之地。事實上,他們說人工智能工具在代碼維護和重構(gòu)過程中可能會有所幫助。具有諷刺意味的是,人工智能工具甚至可以用來克服人工智能代碼中的一些缺陷。

例如,Rehl在Innovative Solutions部署了用于代碼分析和自動重構(gòu)的人工智能工具。他說:“人工智能可以快速分析大型代碼庫,并識別需要重構(gòu)、潛在bug或優(yōu)化機會的區(qū)域。“對于更簡單的重構(gòu)任務(wù),比如重命名變量或提取方法,人工智能工具可以在整個代碼庫中以高精度執(zhí)行這些操作。”Query Pal的Nag指出,他在代碼庫的變化中使用了人工智能,比如更新過時的API調(diào)用。

因為商業(yè)上可用的人工智能工具是根據(jù)他們從大量代碼庫中學(xué)到的最佳實踐和模式進行培訓(xùn)的,所以它們也可以被部署來提出對人眼來說可能不太明顯的改進建議。Nag說:“人工智能工具在識別模式和提出改進建議方面非常出色,這可以顯著加快重構(gòu)過程。”

Pranshtech的Gajjar補充說:“像GitHub Copilot這樣的工具可以簡化代碼,糾正效率低下的問題,甚至可以在從某些模式中識別出邏輯后重新構(gòu)建邏輯。它可以幫助完成自動重復(fù)的任務(wù),清理樣板代碼,甚至提示那些需要重構(gòu)的部分。”

Rehl描述了一個他能夠使用人工智能工具重構(gòu)人工智能輔助代碼的實際情況。他解釋說:“人工智能創(chuàng)建了一個復(fù)雜的React組件結(jié)構(gòu),但它與我在后端設(shè)置的數(shù)據(jù)模型并不完全一致。”

重構(gòu)這一過程需要謹慎地保持人工智能的有效組件設(shè)計,同時調(diào)整它以適應(yīng)我們的特定數(shù)據(jù)流。我發(fā)現(xiàn)特別有用的是使用人工智能(在本例中是CursorIDE)來輔助重構(gòu)過程本身。我可以用自然語言描述我需要的改變,人工智能會建議修改代碼。這創(chuàng)造了一個有趣的循環(huán),即人工智能生成的代碼在人工智能的幫助下被重構(gòu),而人類監(jiān)督指導(dǎo)著這一過程。

仍然需要人類參與其中

很多開發(fā)者沒有人認為人工智能已經(jīng)準(zhǔn)備好在代碼庫中釋放出來了——至少現(xiàn)在還沒有。品牌開發(fā)公司Emerald OceanLtd.的開發(fā)人員兼首席執(zhí)行官Jason Wingate表示,人工智能工具使他能夠加速重構(gòu),但人類的監(jiān)督仍然是關(guān)鍵。他說:“總是審查和完善人工智能生成的代碼更改。

Wingate描述了在人工智能幫助下進行編碼的基本迭代過程。他說,“最基本的方法是請求重構(gòu)建議,并給它一大塊代碼。包括關(guān)于語言、編碼標(biāo)準(zhǔn)和約定的基本信息。根據(jù)你真正想要的東西,你可以深入研究更多你真正想要實現(xiàn)的問題。你可以自己執(zhí)行這些建議,也可以讓人工智能來執(zhí)行。然后回顧一下,有可能再做一次。”

Wingate還提醒開發(fā)人員注意幻覺,并運行測試以確保工具正確地遵循提示。

QueryPal的Nag還指出,有必要仔細審查人工智能生成的代碼。他說,“根據(jù)我的經(jīng)驗,在初始開發(fā)和重構(gòu)中成功使用人工智能的關(guān)鍵是將其視為知識淵博但有時不可靠的初級團隊成員。你不會讓新員工在沒有審查的情況下直接將代碼推送到產(chǎn)品中,人工智能生成的代碼也是如此。我總是確保團隊中有經(jīng)驗的開發(fā)者審查并調(diào)整人工智能的輸出。”

Rehl也不認為這種人類監(jiān)督是暫時的。他說:“我相信重構(gòu)過程確實需要人在循環(huán)中的體驗。在人工智能模型中,系統(tǒng)設(shè)計的商業(yè)背景可能會丟失,因此,人類將需要引導(dǎo)它。我開始相信QA工程師可能是未來的‘重構(gòu)工程師’,他們負責(zé)驗證需求,比較輸出,并將內(nèi)容反饋給人工智能。”

未來還沒有完全確定

與我交談過的每個開發(fā)人員和IT領(lǐng)導(dǎo)者都強調(diào),人們?nèi)蕴幱谏墒饺斯ぶ悄艿脑缙陔A段。對于大多數(shù)商店來說,其代碼庫中人工智能輔助(或完全人工智能編寫)的代碼數(shù)量相對較少。但隨著人工智能輔助重構(gòu)的雪球般滾雪球,它將不可避免地增長。

Rehl引用了絞藤的模式來解釋他是如何看待這個過程的:

當(dāng)人們喜歡舊技術(shù)并想要創(chuàng)造新技術(shù)時,可以在舊系統(tǒng)的基礎(chǔ)上構(gòu)建一個全新的系統(tǒng),或者你可以在舊系統(tǒng)的基礎(chǔ)上構(gòu)建新系統(tǒng)的組件。你開始交換組件樹和它的絞藤。他們進來掐死那棵樹。認為隨著時間的推移,這將會發(fā)生,因為人工智能。當(dāng)人工智能作為副駕駛員暴露在現(xiàn)有系統(tǒng)中時,它將開始自動記錄樹周圍的情況。然后在一年后,它將有足夠的評論來理解它試圖實現(xiàn)的業(yè)務(wù)環(huán)境,然后它就可以接管了。

但對大多數(shù)商店來說,這一天還沒有到來。QueryPal的Nag表示:“總的來說,雖然人工智能編碼工具確實提高了我們在許多領(lǐng)域的生產(chǎn)力,但它們也在代碼一致性和維護方面帶來了新的挑戰(zhàn)。”它們并不是某些人所希望的靈丹妙藥,而是一種強大的工具,如果使用得當(dāng),可以顯著提高開發(fā)人員的能力。關(guān)鍵是找到適當(dāng)?shù)钠胶猓⑹冀K在代碼庫中保持人情味。

責(zé)任編輯:華軒 來源: 機房360
相關(guān)推薦

2024-09-05 10:17:34

2022-05-07 10:01:20

好代碼壞代碼

2023-09-27 15:18:06

人工智能智能建筑

2022-06-20 11:05:58

通用人工智能機器人

2023-10-17 10:20:23

2016-09-24 22:49:31

2020-08-31 15:15:20

人工智能算法AI

2022-06-29 14:30:24

人工智能氣候數(shù)據(jù)

2020-09-18 16:01:18

大數(shù)據(jù)

2024-12-18 07:45:18

2018-08-17 15:17:56

人工智能層次極端

2023-05-05 14:02:59

人工智能聊天機器人

2022-07-08 11:02:01

人工智能AI

2020-09-30 19:50:03

人工智能

2021-01-11 11:04:53

人工智能AI人工智能技術(shù)

2021-01-27 17:41:11

人工智能AI邊緣人工智能

2021-06-28 16:15:57

人工智能AI

2023-08-29 15:03:05

2021-01-23 23:27:13

人工智能深度學(xué)習(xí)數(shù)據(jù)

2022-02-25 15:59:20

人工智能
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品一区二区三区蜜桃久 | 日韩成年人视频在线 | 一级免费视频 | 国产精品有限公司 | 欧美视频一区二区三区 | 一区中文字幕 | 久久精品国产免费 | 亚州激情| 久草视频网站 | 亚洲精品片 | 欧美影院久久 | 国内自拍偷拍视频 | 狠狠干夜夜草 | 国产在线观看网站 | 黄色成人在线 | 黄篇网址| 欧美日韩在线一区 | 五月天天色 | 在线日韩中文字幕 | 国产欧美一区二区三区日本久久久 | 久久久激情视频 | 亚洲精品日日夜夜 | 色影视| 91精品国产一区 | 国产精品夜夜夜一区二区三区尤 | 中文字幕一区二区三区精彩视频 | 国产成人免费视频 | 欧美精品在线免费 | 国产一级在线 | 久久视频精品 | 久久国 | 在线看无码的免费网站 | 成人国产精品久久久 | 99精品国自产在线 | 日韩在线看片 | 亚洲精品中文在线 | 国产精品高清一区二区 | 久久成人亚洲 | 成年人黄色一级毛片 | 福利网站在线观看 | 9191成人精品久久 |