分而治之,各个击破,是我们解决问题的常见方法。用在军事上,它成就了一个又一个经典战例;用在软件开发上,它也是软件调试的惯用战术。
分而治之,各个击破,说白了,也就是当我们遇到一个比较大的问题时,我们可以将其分割为几个小问题进行解决,这样一来问题的难度大幅下降,解决问题的思路也更加清晰。
依据这种思想,当我们在软件调试的过程中,遇到了非常复杂的问题,首先就是要把复杂的问题分解成一个个的小问题,并且把它们分离出来。一旦你隔离出有问题的模块,修复问题会很容易。
在将隔离代码模块的过程中,可以会遇到以下两种情况:
- 将代码从运行环境中隔离出来,问题消失了
这意味着问题就在隔离出来的代码之中,只要对这个代码模块进一步分析,就能找到问题的原因解决之。
2. 将代码从运行环境中隔离出来,问题还在
这意味着隔离出来的代码模块是没有问题的,问题存在于其它模块之中。那么,下一次我们就把其它的模块隔离出来,继续验证问题是否出现。
实际上,查找问题的“二分查找法”,就是将疑似存在问题的代码空间一分为二,看看问题在哪个部分,之后,再对有问题的部分一分为二,这样就可以逐步逼近问题的所在。
软件调试采用分而治之、各个击破会带来以下好处:
分治思想很好用,复杂问题不头疼
各个击破小问题,软件调试变轻松
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!