Andre Medeiros补充认为我们应该对调试“精益求精”,因为开发人员需要对他们的代码做更多的事情。 “为了防止bug,你写出来的代码得让任何程序员都觉得简单。为了修复bug,你得理解你的代码。为了精密地了解代码,你需要列举和验证你的假设,如果有必要,你还需要构建调试工具。” 贫民窟上的摩天大楼 当然,对于我们的代码,其最大的问题之一是,它继承了如此多其他的代码。特别是在已建立的企业中,我们常常构建在旧代码上,从而导致了各种后续延伸问题。 以下是Zeynep Tufekci的精彩描述: 将它比喻成造房子的话——也就说你将要在已经造好的底层基础上造二楼。但房子一开始造的时候并没有造好,没有打好地基,你也不知道哪面是承重墙。你只能尽可能地去猜,然后造好了一个楼层——用你的手指。然后你接着这样做。很多旧但控制着基础设施关键部分的软件系统就是这样运行的。在某一段时间内它也的确是可以工作,但每一个新楼层的建造意味着增加了更多的漏洞。我们正在代码中建设贫民窟上的摩天大楼——而且,还在地震区。很显然,我们对于改善这种情况束手无策,除非我们能够致力于去除技术债务。 但也许,只是也许,在心甘情愿折腾代码的过程中,你会发现消除技术债务是如此之重要。