摘要: 今天接着改bug,先看下面一段代码:[代码]什么什么?不是橘子也不是香蕉的水果就是苹果?小孩子也知道这个逻辑有问题。但是,在我们的代码中却真实存在这样的逻辑。要判断某个对象是否属于某种类型时,不是直接判断其是否具有某种属性,而是通过“排除法”来判定。为什么会出现这样的代码?在最初的代码里,程序只需要处理Apple和Orange两类水果,所以程序员A写出了如下代码:[代码]过了一段时间,需求有了变化,程序需要处理Banana。此时程序员B发现函数IsApple()存在问题,于是将它更新成了代码片断1的那个样子。如果程序员A将最初的代码写成如下:[代码]这样的话程序员B就不会在这段代码基础上画蛇添 阅读全文
posted @ 2011-01-05 22:40 susy 阅读(137) 评论(0) 推荐(0) 编辑