自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI可以解決你的技術(shù)債務(wù)問題嗎?

人工智能
AI編碼工具正在重塑開發(fā)者應(yīng)對(duì)技術(shù)債務(wù)的方式,但人類判斷力對(duì)于理解關(guān)鍵背景仍至關(guān)重要。

IT領(lǐng)導(dǎo)者們深知他們最終必須解決技術(shù)債務(wù)問題,但由于解決技術(shù)債務(wù)并不總能直接帶來收入增加或新功能的實(shí)現(xiàn),因此很難讓企業(yè)管理層認(rèn)真對(duì)待這一問題。

然而,技術(shù)債務(wù)可能會(huì)削弱企業(yè)長期創(chuàng)新的能力,因?yàn)樵诔跏奸_發(fā)過程中采取的捷徑很可能導(dǎo)致代碼庫變得復(fù)雜、緩慢,或者難以被開發(fā)人員理解,再加上過時(shí)的組件或框架,代碼維護(hù)的難度會(huì)進(jìn)一步加劇。

正如GenAI工具正在從根本上改變開發(fā)人員的編碼方式一樣,它們也被用于重構(gòu)代碼,這對(duì)IT部門如何應(yīng)對(duì)技術(shù)債務(wù)產(chǎn)生了重大影響。

與我們交流過的開發(fā)人員表示,GenAI工具正在多個(gè)領(lǐng)域被用于對(duì)抗技術(shù)債務(wù)——有些規(guī)模較小且具有偶然性,有些則具有系統(tǒng)性且著眼于大局。一些開發(fā)人員對(duì)GenAI在控制技術(shù)債務(wù)方面的能力比其他人更為熱衷,但幾乎所有人都同意,人類短期內(nèi)不會(huì)退出這一舞臺(tái)。不過總體而言,AI的應(yīng)用前景是充滿希望的。

消除代碼清理的繁瑣工作

技術(shù)債務(wù)之所以持續(xù)存在,部分原因是清理它涉及令人厭煩的體力勞動(dòng),這正是那些有遠(yuǎn)見的開發(fā)人員正轉(zhuǎn)向GenAI工具以在對(duì)抗技術(shù)債務(wù)時(shí)尋求幫助的任務(wù)。

增加晦澀代碼的清晰度。老舊且文檔不全的代碼庫在重構(gòu)時(shí)尤為令人望而生畏,因?yàn)樗鼈冃枰缺焕斫獠拍鼙皇崂砬宄redibly的首席數(shù)據(jù)與分析官Dan Yelle建議,“通過讓GenAI進(jìn)行代碼審查并插入注釋,使晦澀的程序?qū)こ處焷碚f更容易理解,從而增加代碼庫的透明度?!?/p>

嗅出“代碼異味”。AI工具能夠擅長發(fā)現(xiàn)那些技術(shù)上可行但設(shè)計(jì)糟糕且可能在未來引發(fā)問題的代碼,這正是你需要消除以償還技術(shù)債務(wù)的代碼類型。

“在一個(gè)特別具有挑戰(zhàn)性的實(shí)施項(xiàng)目中,我們面對(duì)的是一個(gè)被數(shù)百萬行復(fù)雜代碼和冗余模塊所困擾的遺留系統(tǒng),”UST的首席AI架構(gòu)師Adnan Masood說。“手動(dòng)修復(fù)將耗費(fèi)大量資源,通過部署AI驅(qū)動(dòng)的代碼分析,我們系統(tǒng)地識(shí)別出了出現(xiàn)退化的模塊,這些模塊表現(xiàn)出代碼異味、重復(fù)模式、過度依賴和架構(gòu)脆弱性,從而能夠精確地確定重構(gòu)工作的優(yōu)先級(jí)?!?/p>

增強(qiáng)的代碼檢查?!按a檢查工具是純粹的機(jī)械過程,它們會(huì)評(píng)估你的代碼并標(biāo)記出實(shí)例,例如代碼中if/then/else分支過多,或者類或方法體過長,”Qwoted的CTO Kevin Trowbridge說。“修復(fù)這些問題需要大量工作,因此代碼庫中經(jīng)常充斥著手動(dòng)覆蓋——代碼中的注釋如‘rubocop:disable’或‘rubocop:todo’,它們告訴檢查器忽略這些問題。”

這些注釋代表了技術(shù)債務(wù)的一種經(jīng)典形式:開發(fā)人員在功能開發(fā)結(jié)束時(shí)意識(shí)到他們剛剛編寫的代碼最終需要深度重構(gòu)。“這正是LLM(大型語言模型)能夠大放異彩的地方,”Trowbridge說?!皺z查器通??梢耘渲脼樵诖a中直接注釋違規(guī)行為,并附上諸如rubocop:todo和具體問題描述的注釋。然后,只需簡單指示,如‘請(qǐng)解決rubocop:todos’,就可以將文件直接傳遞給LLM?!?/p>

追蹤過時(shí)的依賴關(guān)系。有時(shí),技術(shù)債務(wù)的產(chǎn)生并非因?yàn)槟愕拇a糟糕,而是因?yàn)榇a所依賴的庫或框架發(fā)生了變化或變得不可靠?!癆I編碼助手能夠識(shí)別代碼庫中所有庫和依賴項(xiàng)的過時(shí)程度,”網(wǎng)絡(luò)和移動(dòng)開發(fā)公司Gnar的聯(lián)合創(chuàng)始人Pete Whiting說。他指出,即使AI沒有被專門指派去尋找技術(shù)債務(wù),它也能識(shí)別出這些鏈接的問題:“當(dāng)被提示進(jìn)行一些改進(jìn)請(qǐng)求(例如,提高性能、應(yīng)用一致的模式或遵循最佳實(shí)踐)時(shí),AI編碼助手也會(huì)突出顯示代碼庫中的這些區(qū)域?!?/p>

更智能的測(cè)試能消除債務(wù)——希望是在債務(wù)產(chǎn)生之前

一些開發(fā)人員在將AI工具應(yīng)用于技術(shù)債務(wù)任務(wù)時(shí)考慮得更為長遠(yuǎn)。以單元測(cè)試為例:它是產(chǎn)生高質(zhì)量代碼的重要工具,不會(huì)增加技術(shù)債務(wù),但在急于交付最小可行產(chǎn)品的過程中往往被忽視,這意味著生產(chǎn)代碼需要在后續(xù)的清理操作中編寫測(cè)試——這是一項(xiàng)艱巨的任務(wù),而GenAI工具可以加速這一過程。

“AI編碼助手在為之前沒有測(cè)試的現(xiàn)有功能添加測(cè)試覆蓋方面非常有幫助?!盙nar的Whiting說。

當(dāng)然,在技術(shù)債務(wù)方面,最好的預(yù)防是在一開始就避免它。Compai的CEO Justin Ramos表示,AI工具“在輕松創(chuàng)建單元測(cè)試方面非常有幫助,這可以防止技術(shù)債務(wù)的積累,這曾經(jīng)是一項(xiàng)繁瑣而有價(jià)值的任務(wù),但像Claude這樣的工具讓這一過程變得更加容易?!?/p>

實(shí)際上,AI工具還可以幫助提高在以往難以進(jìn)行測(cè)試的專門場(chǎng)景中的測(cè)試覆蓋率?!坝捎贛L/AI模型的輸出具有不確定性,測(cè)試一直是一個(gè)挑戰(zhàn),這通常導(dǎo)致團(tuán)隊(duì)對(duì)復(fù)雜系統(tǒng)的測(cè)試不足,”Domino Data Lab的現(xiàn)場(chǎng)首席數(shù)據(jù)科學(xué)家Jarrod Vawdrey說。“AI正在改變這一現(xiàn)狀,它能夠自動(dòng)生成全面的測(cè)試套件,考慮模型的概率行為,并在各種場(chǎng)景下驗(yàn)證輸出?!?/p>

將債務(wù)轉(zhuǎn)化為戰(zhàn)略

許多公司開始將AI工具作為支持量化和糾正技術(shù)債務(wù)的基礎(chǔ)設(shè)施生態(tài)系統(tǒng)。QueryPal的CEO兼創(chuàng)始人Dev Nag表示,AI不僅可以揭示代碼異味,還可以創(chuàng)建整個(gè)儀表板,“展示熱點(diǎn)區(qū)域、變更率、熵指標(biāo),甚至每個(gè)模塊的預(yù)測(cè)變更成本,這使得技術(shù)債務(wù)對(duì)業(yè)務(wù)部門來說變得清晰可見?!?/p>

AI工具可以根據(jù)缺陷密度、頻繁變更和依賴關(guān)系擴(kuò)散等模式識(shí)別出有風(fēng)險(xiǎn)的組件——這些洞察允許團(tuán)隊(duì)規(guī)劃他們的債務(wù)攻擊策略?!叭绻阒滥睦锍隽藛栴}并能迅速修復(fù)它,那么它并不可怕,這是戰(zhàn)略性的,”Coder的CEO Rob Whiteley說。

Credibly的Yelle主張采用“框架驅(qū)動(dòng)的方法”來攻擊技術(shù)債務(wù),該方法應(yīng)包含代碼復(fù)雜性和性能的定量定義?!癎enAI可以用于提供如何定義復(fù)雜性的建議,”他說,“盡管企業(yè)領(lǐng)導(dǎo)者將擁有最相關(guān)的上下文來確定哪些指標(biāo)最為重要?!钡@些建議可以讓團(tuán)隊(duì)從基于直覺的應(yīng)急處理轉(zhuǎn)向系統(tǒng)的修復(fù)。

“如果人們盲目地使用AI生成的代碼,僅僅因?yàn)樗行?,那么他們很快就?huì)了解到他們一直想知道的關(guān)于技術(shù)債務(wù)的一切?!盕usion Collective的聯(lián)合創(chuàng)始人兼CEO Yvette Schmitter說。

一旦框架到位,GenAI工具就可以自動(dòng)化大部分清理過程。CGI的總監(jiān)兼咨詢專家Kevin Beaugrand描述了使用AI遷移遺留應(yīng)用程序的情況,其中近70%的新代碼被生成并重用?!巴瑫r(shí),”他說,“我們觀察到應(yīng)用程序的整體技術(shù)債務(wù)顯著減少——大約減少了50%?!?/p>

上下文至關(guān)重要——而AI沒有

盡管AI工具在解決技術(shù)債務(wù)方面展現(xiàn)出巨大潛力,但我們交流過的大多數(shù)從業(yè)者都強(qiáng)調(diào)需要保持人類在循環(huán)中的參與。

“AI工具在指出看起來混亂、過于復(fù)雜或難以維護(hù)的代碼方面相當(dāng)擅長,”QueryPal的Nag說,“但它們難以理解為什么代碼會(huì)變成那樣,以及它是否真的是債務(wù)還是只是業(yè)務(wù)上下文的一個(gè)怪癖。在一個(gè)倉庫中看起來冗余的循環(huán)可能在另一個(gè)倉庫中是針對(duì)不可靠的供應(yīng)商API的關(guān)鍵變通方法?!?/p>

問題是,“技術(shù)債務(wù),從本質(zhì)上講,很少僅僅是結(jié)構(gòu)性的——它是文化和上下文性的。”他說。

“AI看不到導(dǎo)致重寫被推遲的內(nèi)部政治因素,看不到迫使采取捷徑的發(fā)布截止日期,也看不到使抽象變得不可能的脆弱伙伴系統(tǒng)合同,”Nag說。“沒有這些背景故事——它們永遠(yuǎn)不在代碼庫中——AI無法判斷是刪除還是維護(hù)那段代碼。沒有這些上下文知識(shí),AI無法可靠地確定是刪除還是維護(hù)某些代碼片段?!?/p>

然后還有這樣一個(gè)問題:從一開始就在編碼中使用AI是否只是簡單地積累了更多的技術(shù)債務(wù)。UST的Masood稱之為AI開發(fā)的“悖論性挑戰(zhàn)”?!霸跊]有適當(dāng)治理框架的情況下,以前所未有的速度生成代碼的能力可能會(huì)加劇架構(gòu)不一致性,”他說?!斑@種緊張關(guān)系需要在嚴(yán)格開發(fā)實(shí)踐內(nèi)對(duì)AI能力進(jìn)行復(fù)雜的協(xié)調(diào)。”

Fusion Collective的聯(lián)合創(chuàng)始人兼CEO Yvette Schmitter說得更為直白。談到?jīng)]有AI防護(hù)欄的商店時(shí),她說:“如果人們盲目地使用AI生成的代碼,僅僅因?yàn)樗行?,那么他們很快就?huì)了解到他們一直想知道的關(guān)于技術(shù)債務(wù)的一切。你仍然需要一位有判斷力的工程師來決定什么對(duì)你的企業(yè)是合適的,什么是不合適的?!?/p>

如何預(yù)防明天的技術(shù)債務(wù)

盡管如此,與我們交流過的所有人都看到了AI在處理技術(shù)債務(wù)方面的作用。如果使用得當(dāng)——這是一個(gè)重要的前提——AI可以提供前瞻性的指導(dǎo),在技術(shù)債務(wù)產(chǎn)生之前就將其扼殺在萌芽狀態(tài)?!癆I框架現(xiàn)在能夠以驚人的準(zhǔn)確性預(yù)測(cè)債務(wù)積累軌跡?!盪ST的Masood說。

這些預(yù)測(cè)模型允許團(tuán)隊(duì)將實(shí)時(shí)債務(wù)評(píng)估嵌入到代碼審查中——在問題擴(kuò)大之前就將其捕獲。正如Coder的Whiteley所說,這些預(yù)測(cè)“將技術(shù)債務(wù)從年度消防演習(xí)轉(zhuǎn)變?yōu)槌掷m(xù)可見的待辦事項(xiàng),工程領(lǐng)導(dǎo)者可以據(jù)此確定優(yōu)先級(jí)?!?/p>

更快、更高效地減少技術(shù)債務(wù)意味著開發(fā)人員可以做更多他們更愿意做的事情。“有很多關(guān)于自主AI取代開發(fā)人員的討論,”Whiteley說?!暗珜?shí)際上,它解放了開發(fā)人員,讓他們能夠?qū)W⒂趧?chuàng)造價(jià)值,而不是償還技術(shù)債務(wù)?!?/p>

責(zé)任編輯:姜華 來源: 企業(yè)網(wǎng)D1Net
相關(guān)推薦

2023-04-18 10:27:15

CIO技術(shù)債務(wù)

2022-05-30 10:09:27

技術(shù)債

2024-01-03 14:52:15

數(shù)字化轉(zhuǎn)型

2025-02-04 11:51:51

2012-09-13 10:40:30

技術(shù)債務(wù)管理項(xiàng)目管理

2022-07-06 09:00:00

DevOpsIT技術(shù)債務(wù)

2022-05-27 10:13:51

IT領(lǐng)導(dǎo)者CIO

2020-04-14 15:15:19

智能技術(shù)人工智能人口老齡化

2024-08-16 07:13:37

2019-10-24 10:04:33

技術(shù)債務(wù)開發(fā)軟件

2021-08-04 09:00:00

云原生云計(jì)算債務(wù)

2023-08-11 17:16:57

AI API人工智能

2024-01-18 16:19:31

數(shù)據(jù)治理AI疲勞數(shù)據(jù)安全

2022-05-13 09:00:00

企業(yè)初創(chuàng)公司技術(shù)債務(wù)

2025-03-26 16:45:29

2023-05-11 08:28:54

Pythonmmap()函數(shù)

2024-09-30 13:14:01

2023-05-15 07:06:36

2022-05-10 10:39:51

初創(chuàng)企業(yè)技術(shù)債務(wù)

2025-01-10 11:07:28

點(diǎn)贊
收藏

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