“技术债就像俄罗斯方块”
xplanet 發布于 OSChina
根據維基百科的定義,技術債(Technical Debt)是 “編程中的一個概念,反映了當使用短期內易于實現的代碼而不是應用最佳的整體解決方案時,出現的額外開發工作”。 技術債可以與金融債進行比較。如果不償還技術債,則會積聚“利息”,從而導致之后更難以實施更改。 不過,技術債不一定是一件壞事,有時恰恰需要技術債才能推動項目前進。
開發者Jonathan Boccara 將技術債比作俄羅斯方塊。游戲初始,需要從一個空白的頁面開始進行,就像從什么都沒有的編碼項目開頭一樣。
接著,方塊開始掉落,每個方塊被放置的位置都會影響游戲的其余部分。如果你在沒有太多思考的情況下讓方塊自由滑落,那么接下來的游戲會變得更為艱難。反之,如果設法構建干凈、緊湊的結構,在后期將更易于管理。
每個新的修復程序或開發都像一個新的方塊一樣,需要與現有代碼集成。如果以快速而骯臟的方式對其進行破解,就好像在俄羅斯方塊結構中留下了漏洞。若希望少留些空白或漏洞,則需要花時間設計一個干凈的解決方案,來集成修復程序或開發程序。這不太容易實現,但從長遠來看會有所回報。
俄羅斯方塊游戲并非總是要求平坦的結構,只要能夠有計劃地增減和消除即可。 就像為垂直欄留出空間以一次滑入并清除四行一樣,具有一種令人愉悅的感覺:
即便留有一些漏洞,也可以在其上方保留緊湊的行,這樣可以在清除上方后,填充漏洞。 技術債也是如此,如果能夠控制,并且計劃在以后償還,則可以適當增加債務。
當過去的技術債管理不善時,方塊堆積至頂部,無法再添加新功能。 在這一點上,前進的唯一方法是回到過去,從而通過重構簡化代碼。不過,這在真正的俄羅斯方塊游戲中無法做到。
另一位同樣將技術債比作俄羅斯方塊的開發者ColinO'Dell 認為,必須使用與玩俄羅斯方塊類似的思維過程來管理技術債:
- 如何排列先前的塊?(當前如何構建代碼庫? )
- 是否有放置當前塊的理想位置?(是否有執行當前任務的理想位置? )
- 接下來會出現什么障礙,它們將如何調試?( 接下來會出現什么功能,它們又將如何適應? )
這樣做將使維護現有功能以及引入新的更改和功能變得更加容易。當你背負技術債時,不妨借鑒俄羅斯方塊的思路,或是玩幾局游戲,說不定能激發靈感。
總結
以上是生活随笔為你收集整理的“技术债就像俄罗斯方块”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我们对春晚的力量一无所知
- 下一篇: 滴滴成立“医护保障车队”免费接送武汉医务