首页 > 科普知识 > 重构 > 列表

8.1 所涉及的坏味道

    ●基本类型困扰(PrimitiveObsession)●数据类(DataClass)●数据泥团(DataClump)●临时字段(TemporaryField)......查看详细>>

标签:重构

8.2 基本类型困扰

    症状请查看是否存在以下症状:●使用了基本类型或近基本类型(near-primitivetype)(int、float、String等等)●存在表示小整数的常量或枚举●存在表示字段名的串常量原因造成基本类型的过度使用有多种原因:●缺少类(Missingclass):由于几乎所......查看详细>>

标签:重构

8.3 数据类

    症状●类仅由公共数据成员组成,或者只由简单的获取方法和设置方法组成。这就使客户要完全依赖于此类的可变性和表示。原因类通常可能如下诞生:你意识到某些数据是一个独立对象的一部分,因此相应地抽取出了一个类。这种情......查看详细>>

标签:重构

8.4 数据泥团

    症状●同样的两至三项频繁地一同出现在类和参数表中。●代码声明了某些字段,并声明了处理这些字段的方法,然后又声明了更多的字段和更多的方法,如此继续(也就是说,在类中同时存在成组的字段和方法)。●各组字段名以类似的......查看详细>>

标签:重构

8.5 临时字段

    症状●字段仅在某些时候得到设置,而在其余时间内为null(或未用)。原因对象中的某一部分存在一个算法,该算法要通过字段而非通过参数来传递信息,此时就会发生这种情况;这些字段仅在算法处于活动状态时才有效或得到使用。字段......查看详细>>

标签:重构

9.2 拒收的遗赠

    症状●一个类继承自其父类,但是抛出了一个异常而不是支持一个方法,此为坦率的拒绝(honestrefusal)。●一个类继承自其父类,但是在对该类调用时,某个所继承的方法不能正常工作,此为隐式的拒绝(implicitrefusal)。●客户试图通过子类的......查看详细>>

标签:重构

9.3不当的紧密性(子类形式)

    症状●一个类访问了其父类的内部(本应是私有的)部分。(这与各类之间的不当紧密性有关;请参见第10章中的“不当的紧密性(一般形式)”)。原因相对于两个陌生人来说,父类与子类之间当然要亲密一些。不过有时它们太过亲密了(即过......查看详细>>

标签:重构

9.4 慵懒类

    症状●类并没有做什么工作,似乎是由其父类、子类或是调用者完成了所有相关的工作,而在此类中却没有足够的行为,以至于对其是否继续存在会产生质疑。原因一般来说,往往是因为:在重构过程中,类的所有职责都已经移至其他位置......查看详细>>

标签:重构

10.1 所涉及的坏味道

    ●依恋情结(FeatureEnvy)●不当的紧密性(一般形式)[InappropriateIntimacy(GeneralForm)]●消息链(MessageChains)●中间人(MiddleMan)......查看详细>>

标签:重构

10.2 依恋情结

    症状●一个方法似乎过于强调处理其他类的数据,而不是处理其自己的数据。(你可能会因重复性而注意到这一点,即多个客户在做同样的处理,或者可能在同一行中多次看到同一个对象。)原因对于当前的数据类和原来的数据类,其客户......查看详细>>

标签:重构
科普知识