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