技術債的種類

5 種情況構成技術債

Image Powered by DALLE

前言

當我們談論到技術債務時,這通常指的是在軟件開發過程中作出的短期決策,這些決策可能會導致未來的額外工作量。技術債務可以分為幾個主要類型:程式碼債務、架構債務、測試債務、知識債務和技術債務。

程式碼債務

程式碼債務涉及到具體的程式編輯問題,例如難以閱讀或過於複雜的程式碼,或是違反DRY(Don’t Repeat Yourself)原則的重複程式碼。這種債務的一大特點是,開發人員可能需要花費大量時間來定位並修改特定的程式碼,這降低了效率,並增加了出錯的風險。當開發人員對某個功能進行修改時,可能會發現其他功能出現故障,這通常是由於程式碼之間複雜的依賴關係所造成。

架構債務

架構債務則發生在軟體架構設計方面,尤其是當需求變化時,架構無法靈活適應這些變化。這包括缺乏必要的架構層(例如,「泥球架構」)、缺乏擴展性點以支持新功能的輕鬆整合(符合開放/封閉原則),或者過度關注某些細節而忽視其他重要問題。在這種情況下,團隊可能發現他們無法順利增加新功能,或者發現開發某個功能的成本遠高於預期。

測試債務

測試債務涉及測試準備不夠充分的情境,像是缺乏單元測試或整合測試。這使得工程師在修改程式碼時可能導致新的 bug,因為沒有足夠的測試來確保修改不會引入新的錯誤。這種債務的一個跡象是,開發人員可能會發現上周還能正常運作的功能,突然出現問題,或者某些重要的測試案例沒有被確實執行。

知識債務

知識債務發生在團隊對自己的程式碼或系統缺乏足夠的理解時。這可能是因為原開發者已不在團隊中,或者相關說明文件過時、內容不準確。知識債務的結果導致開發人員可能花費大量時間重新學習,甚至一開始就錯誤的理解某些程式碼的存在和目的。

技術債務

技術債務則與使用過時或不再受支持的技術相關。這可能包括必須維護舊版本和新版本的程式碼,或者需要支援不同的技術平台。例如,開發人員可能需要在 IE 以及 Google Chrome 中保持程式碼的容性,這種痛苦不言而諭。

總結

了解和管理技術債是現代軟體開發的重要工作之一。透過知道這些類型的技術債,就可以採取好的措施來消除或減輕技術債的影響。

--

--

(KJH) Kuan-Jung, Huang
(KJH) Kuan-Jung, Huang

Written by (KJH) Kuan-Jung, Huang

CTO at Metablox.co, Founder of AI Users Community in Taiwan

No responses yet