重构的思维导图

来源:互联网 发布:苏联核打击中国知乎 编辑:程序博客网 时间:2024/05/16 04:08

看了重构这本书,做下思维导图,这要装脑子里的



坏味道:
     1.重复代码:
               类比为平时工作中复制粘贴的代码。3层架构的增删改查,基础信息页面的JSP。
               重构方案,3层架构的可以写个父类。 JSP页面就使用,模板生成工具。
     2.过长的代码
               就像一个房间里面,发了太多家具,装饰品。 杂乱无比。
     3.过大的类
               就像一个人让他做的事情太多了,都不知道他在公司具体是做什么的。
     4.过长的参数列
               函数的参数过多,使用起来很难,不知道填什么数据。
               有点像点一道菜,来个10几项互相组合的选择,这会把客户搞糊涂。
               好的做法就是,把不同组合提炼成类型,红烧肉面 酸菜面 麻辣米粉
     5.发散式变化(X)
               多个变化,会在同一个类中修改。               

                因为不同类型的原因,修改不同的类。
                就像工作的小明,水桶没水了,会叫他去搞。
                招聘,人来了会叫他去面试。一群风马牛不相干的事情,都需要他去操作,这就有问题了。
                职责过于分散。
     6.散弹式修改(X)
               一个变化,会在多个类中修改。
               明明是一件小事却要多个人去重复做,不应该呀。

     7.依恋情结(X)
               感觉有点像,我在生物专业,但是我对只对课程里面的生物英语跟感兴趣,一直学习生物英语。
               是不是应该换专业到英语系,必须你跟喜欢英语要胜于生物。
               有种身在曹营心在汉的感觉

     8.数据泥团(X)
               就是几个参数总会出现在一起。这么默契,为什么他们搞成一个组合呢。
               函数上的多个参数,用对象取代。

     9.基础类型偏执(X)
               有些地方使用到基础类型的数据,是否能将这些基础类型组合成一个小对象。
     10.switch现身
               看到switch,我就会武断的觉得是糟糕的代码,我不希望在持续中看到switch。
               觉得switch有很多替代方案。
               switch就是重复的代言词。
     11.平行继承体系(X)
               类似散弹式修改,在这边添加一个类,另外一边的继承体系也同时添加一个类。
     12.冗余类
            代表鸡肋的类,没用的类,就应该及时删除。
     13.夸夸其谈未来型(X)
                就是想太多的设计罗
     14.令人迷惑的暂时字段
               特殊情况下使用的字段。使使用者很困惑,这个字段是干什么的。
     15.过度耦合的消息链(X)
               就像我要找隔壁老玩的表妹的同事的老师拿一个鸡蛋似的。
     16.中间人(X)
          过度委托,也不太好。什么事情都要委托给其他人使用。
          是不是类似中介啊,过于简单的事情,不需要中介。当事情变得不简单或者大型了才需要中介,简单的事情还是无需中间人。
     17.甲昵关系(X)
     18.异曲同工的类
          字面意思就知道了,不同的类却做了同样的事情。
     19.不完美的库类?
          库类设计不够完善
     20.纯稚的数据类?
               private int i;
               只有数据,没有get/set方法的类          
     21.被拒绝的馈赠?
         拒绝了什么馈赠啊??
     22.过多的注释
          可以写注释,但是不能以注释来掩盖代码设计的缺失。
          注释类似香水,可以使用,但是不能当成除臭剂来使用。
          去减少臭味才对(重构才对)。
          感觉需要注释的地方,应该就能抽取成为一个函数,然后起个跟注释差不多意思的函数名。
          

原创粉丝点击