一些技術債是顯而易見的。react
數據結構不合理可能會致使代碼錯綜複雜。當需求不斷變化時,代碼可能包含之前方法的痕跡。有時代碼寫得很匆忙或者就是草率。數據結構
這種技術債很容易去討論,由於它很是明顯。它變現成 bugs、性能問題和添加功能的困難。工具
還有另外一種更隱密的技術債。性能
可能測試時有點慢,沒慢到和爬同樣 —— 但恰好讓你不打算去查看 bug 並把它添加到積壓工具中。也許你不相信部署腳本,所以你跳過了這個額外版本;也許抽象層使得定位性能迴歸變得太難,因此你在代碼中留下了 TODO;有時單元測試太嚴格,因此推遲嘗試一個有趣的新想法,直到你發佈了計劃的功能。單元測試
這些東西都不是破壞者。若是有的話,它們可能看起來像是不專一,抱怨它們是徒勞的。畢竟,若是它們真的很重要,儘管衝突你也會作這些,不是嗎?測試
因此這些事情永遠不會完成。它們自己彷佛不夠重要,衝突殺死了它們。其中一些探索可能可有可無,其中一些能夠從新定義你的項目。翻譯
你永遠都不會知道。這就是爲何你必須積極的減小衝突,就像你項目的命運離不開它,由於它確實存在。部署
像沒人看的那樣修復。get
翻譯原文Fix Like No One’s Watching(2019-02-15)io