代码的坏味道
重复的代码
这很好理解,就是你有一段代码出现在很多地方,导致了代码的重复和冗余。出现这种情况,可以将这段代码抽出来作为一个函数,然后用这个函数替代重复的代码段。
过长的函数
一个函数代码过长,这和过长的类的类似。解决这种问题,可以将这个长函数分解成很多个小函数然后再组合起来,也可以将这个函数作为一个函数类,定义一个compute方法在这个方法中实现之前的逻辑
过大的类
一个类承担了太多它本不应该承受的东西,就像上帝一样,把一切都揽给自己。这时候可以将这个类拆成多个类然后使用组合将这些类组合起来,或者使用继承。
过长的参数列
一个函数的参数过多,这个简单,定义一个参数类来替代这些零散的参数
发散式变化
一个类,很奇怪数据库变了我要修改,新加一个功能我也要修改它,说明这个类产生了发散式变化。这个和过大的类有点类似,这个时候就需要将这个类拆分
霰弹式修改
当我需要修改一个需求发现我要修改很多个类。说明这个功能应该被抽象出来,而不应该散落在各个类中当中。
依恋情结
当你发现一个类的方法虽然在这个类中,但是它里面的逻辑和这类几乎没有关系,却和另外一个类关系非常密切这时候说明这个方法应该不属于这个类,应该将这个类移到另外一类当中
数据泥团
这个问题就是说,一个类当中包含了太多数据字段而这些数据之间没有直接的联系,可以分开存在。这个时候应该将这个类拆分成多个数据类
switch语句
大多数switch语句都可以使用策略模式或者

浙公网安备 33010602011771号