写代码时,有中国人的思维,往往喜欢在代码中隐含一些含义。
有个类“车”,它含有成员“发动机”,我写代码时,可能会用是否含有发动机,来判断是自行车还是汽车,(加入只有这两种情况)。那我肯定也能实现功能。但如果以后扩展时,会遇到问题:1、自行车可能也有发动机,汽车也可能只有电机,2、我的代码中可能很多地方,存在判断发动机是否为空,以后如果修改,这些地方都要跟着动。3、让别人使用这个类型或者方法时,你得给人家说明,为空时的特殊含义。别人用起来了感觉别扭。
再加上一个枚举或者布尔型就很好多。变量虽然多了一个,但用起来就是特别舒服。 今天看别人的代码,忽然有这个感受,感觉应该是这样。