"所謂技術負債,是指開發人員為了求快,不採用最佳方案,而妥協選用短期內能加速軟體開發的方案,結果對未來的開發工作造成額外負擔。"
近來AI用於輔助程式設計越來越廣泛, 就部分研究結果顯示AI給出的建議程式碼不完全是最佳化的, 甚至有些還帶著一些漏洞, 但利用AI工具來寫程式的人員, 卻傾向於認為利用AI工具所得出的程式碼更可靠. MIT的教授就指出未來由AI生成粗製濫造的程式碼可能堆積如山, 使得程式的維護會相當困難或花費時間和精神.
這情況在機構專業上採用電腦輔助設計 (CAD) 有異曲同工之妙, 通常在專案檢討後有些設計問題須要改正, 工程師為了節省時間或是避免修改的負擔, 常常會採用最快的方式改圖, 而非最佳製圖方式來修圖. 舉例來說, 有些零件可能在設計時多了一些特徵, 在檢討後認為應該取消. 然而取消某個特徵可能牽涉到其他許多關聯特徵, 通常設計人員在為了儘快解決問題的前題下, 會選擇不回頭將所有相關的特徵去進行處理和修改, 而是把要取消的特徵用指令砍掉. 這確實在作圖上是最快的方式, 但這份設計中就會留下一些無用的特徵 (因為被後續的指令砍掉了), 且這些特徵還會在每次重生計算時被運算而耽誤時間. 另外後續接手的人也有其他負擔, 因為在進行理解圖面的設計時, 往往會將設計步驟一步步重新跑一遍, 當看到藏在圖中的無用特徵, 即便最後能理解那些是為了快速修改而隱藏於圖中的垃圾, 但就是會接手人員的造成困擾與時間的浪費.
相信不論是否使用AI工具, 也不管在那個行業, 但只要有任何省力的工具, 多少都可能會產生技術負債的問題, 端看使用者如何去面對, 以及是否要將債留後代了.
沒有留言:
張貼留言