軟件侵蝕的雪球效應(yīng)
添加功能和快捷方式會(huì)逐步增加軟件復(fù)雜性,每次迭代都在無(wú)形中侵蝕著軟件架構(gòu)的完整性,。
開(kāi)發(fā)者在工作流中添加了快捷方式,導(dǎo)致代碼庫(kù)日益臃腫。想要一個(gè)新的功能,?有可能會(huì)因此破壞一些東西,。如果重新設(shè)計(jì)產(chǎn)品的某個(gè)方面,可能會(huì)引發(fā)一系列破壞性反應(yīng),,影響到其他原本相互獨(dú)立的團(tuán)隊(duì),。每次改動(dòng)都可能帶來(lái)意想不到的連鎖反應(yīng)。
開(kāi)發(fā)者可能會(huì)因?yàn)轭~外的維護(hù)工作而感到沮喪,,進(jìn)而再次添加一個(gè)快捷方式,。如此反復(fù),直到代碼庫(kù)變得像極其不穩(wěn)定的真人版疊疊樂(lè)游戲。每個(gè)人都害怕成為那個(gè)讓整個(gè)結(jié)構(gòu)崩塌的人,。這就是開(kāi)發(fā)者在面對(duì)日益復(fù)雜的代碼庫(kù)時(shí)所面臨的挑戰(zhàn),。
關(guān)注軟件侵蝕是為了長(zhǎng)期保障您的軟件投資
"這就是軟件侵蝕的本質(zhì),"Qt Group的Juan Rodriguez總結(jié)道,,"無(wú)處不在的復(fù)雜性使得即使是發(fā)布最簡(jiǎn)單的新功能也變得痛苦無(wú)比,。從長(zhǎng)期來(lái)看,這種情況會(huì)對(duì)效率和可擴(kuò)展性造成嚴(yán)重?fù)p害,。"
我們是否忘了測(cè)試左移,?
許多公司取了一種令人失望的"補(bǔ)救"措施。他們?cè)黾有迯?fù)錯(cuò)誤的時(shí)間,,或者雇傭更多的QA工程師來(lái)減輕開(kāi)發(fā)者負(fù)擔(dān),。然而,這些都只是在玩"打地鼠"游戲,新錯(cuò)誤在被修復(fù)前并不存在,,就像是用昂貴的創(chuàng)可貼來(lái)處理嚴(yán)重的傷口,。
更明智的做法應(yīng)該是重新架構(gòu)代碼庫(kù)。對(duì)于只有兩年代碼歷史的公司來(lái)說(shuō),,這可能相對(duì)容易,,但對(duì)于那些擁有二十年遺留代碼的公司呢?即便他們完成了這項(xiàng)艱巨的任務(wù),如果第一次沒(méi)有真正吸取教訓(xùn),,軟件侵蝕的循環(huán)就會(huì)再次開(kāi)始,。
從開(kāi)發(fā)者在維護(hù)上投入的時(shí)間來(lái)看,,這些教訓(xùn)似乎還沒(méi)有被充分吸取。軟件侵蝕的問(wèn)題依然存在,,我們甚至可以預(yù)見(jiàn),,AI代碼助手也面臨同樣的問(wèn)題,。除非每個(gè)行業(yè)都能自覺(jué)地從一開(kāi)始就將QA緊密地融入到開(kāi)發(fā)過(guò)程中。
在數(shù)字化時(shí)代背景下,,軟件的穩(wěn)固性與安全性成為了企業(yè)信譽(yù)的重要防線(xiàn)
2024-09-03 13:47:15軟件正在我們眼前悄然被侵蝕