歡迎您光臨本站 註冊首頁

「技術債就像俄羅斯方塊」

←手機掃碼閱讀     admin @ 2020-01-25 , reply:0

根據維基百科的定義,技術債(Technical Debt)是 「編程中的一個概念,反映了當使用短期內易於實現的代碼而不是應用最佳的整體解決方案時,出現的額外開發工作」。 技術債可以與金融債進行比較。如果不償還技術債,則會積聚「利息」,從而導致之後更難以實施更改。 不過,技術債不一定是一件壞事,有時恰恰需要技術債才能推動項目前進。

開發者 Jonathan Boccara 將技術債比作俄羅斯方塊。遊戲初始,需要從一個空白的頁面開始進行,就像從什麼都沒有的編碼項目開頭一樣。

接著,方塊開始掉落,每個方塊被放置的位置都會影響遊戲的其餘部分。如果你在沒有太多思考的情況下讓方塊自由滑落,那麼接下來的遊戲會變得更為艱難。反之,如果設法構建乾淨、緊湊的結構,在後期將更易於管理。

每個新的修復程序或開發都像一個新的方塊一樣,需要與現有代碼集成。 如果以快速而骯髒的方式對其進行破解,就好像在俄羅斯方塊結構中留下了漏洞。若希望少留些空白或漏洞, 則需要花時間設計一個乾淨的解決方案,來集成修復程序或開發程序。這不太容易實現,但從長遠來看會有所回報。

俄羅斯方塊遊戲並非總是要求平坦的結構,只要能夠有計劃地增減和消除即可。 就像為垂直欄留出空間以一次滑入並清除四行一樣,具有一種令人愉悅的感覺:

即便留有一些漏洞,也可以在其上方保留緊湊的行,這樣可以在清除上方后,填充漏洞。 技術債也是如此,如果能夠控制,並且計劃在以後償還,則可以適當增加債務。

當過去的技術債管理不善時,方塊堆積至頂部,無法再添加新功能。 在這一點上,前進的唯一方法是回到過去,從而通過重構簡化代碼。不過,這在真正的俄羅斯方塊遊戲中無法做到。

另一位同樣將技術債比作俄羅斯方塊的開發者 Colin O'Dell 認為,必須使用與玩俄羅斯方塊類似的思維過程來管理技術債:

  • 如何排列先前的塊?(當前如何構建代碼庫? )
  • 是否有放置當前塊的理想位置?(是否有執行當前任務的理想位置? )
  • 接下來會出現什麼障礙,它們將如何調試?( 接下來會出現什麼功能,它們又將如何適應? )

這樣做將使維護現有功能以及引入新的更改和功能變得更加容易。 當你背負技術債時,不妨借鑒俄羅斯方塊的思路,或是玩幾局遊戲,說不定能激發靈感。


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/112999/technical-debt-is-like-a-tetris-game
「技術債就像俄羅斯方塊」已經有274次圍觀

http://coctec.com/news/soft/show-post-223823.html