晚上翻开《 编程珠玑》,看到第四章二分搜索的程序框架时,联系最近给公司搭建解析算法优化对比系统自己调试时,改掉的几个bug,才真正认识到编程前思考并且预先判定好逻辑框架的重要性。
这里我说的逻辑框架不仅是整个系统的逻辑,更着重的是每个子逻辑的完整性。以前总是习惯一口气写完一个较大的功能再整体测试,但事实证明这种习惯很不好。相对的,步步为营,unit测试是更好的选择。而且,一次编写一个较大的功能时,如果事先没有考虑到所有的逻辑可能,哪怕是忽视一个if,都可能在今后的正式运行中产生 bug。如果能像书中所说,在编写程序前,首先严谨的写好逻辑的(mustbe(range)),那在写程序时,至少可以规避到一部分逻辑丢失。
bug,大多是思维的暗区导致。