Andre Medeiros補充認為我們應該對調試“精益求精”,因為開發人員需要對他們的代碼做更多的事情。 “為了防止bug,你寫出來的代碼得讓任何程序員都覺得簡單。為了修復bug,你得理解你的代碼。為了精密地了解代碼,你需要列舉和驗證你的假設,如果有必要,你還需要構建調試工具。” 貧民窟上的摩天大樓 當然,對於我們的代碼,其最大的問題之一是,它繼承了如此多其他的代碼。特別是在已建立的企業中,我們常常構建在舊代碼上,從而導致了各種後續延伸問題。 以下是Zeynep Tufekci的精彩描述: 將它比喻成造房子的話——也就說你將要在已經造好的底層基礎上造二樓。但房子一開始造的時候並沒有造好,沒有打好地基,你也不知道哪面是承重牆。你只能盡可能地去猜,然後造好了一個樓層——用你的手指。然後你接著這樣做。很多舊但控制著基礎設施關鍵部分的軟件系統就是這樣運行的。在某一段時間內它也的確是可以工作,但每一個新樓層的建造意味著增加了更多的漏洞。我們正在代碼中建設貧民窟上的摩天大樓——而且,還在地震區。很顯然,我們對於改善這種情況束手無策,除非我們能夠致力於去除技術債務。 但也許,只是也許,在心甘情願折騰代碼的過程中,你會發現消除技術債務是如此之重要。