美文网首页重构改善既有代码设计
代码重构之对象之间的搬移

代码重构之对象之间的搬移

作者: 过期的薯条 | 来源:发表于2017-06-05 22:24 被阅读28次

    1.引言

    前面把代码中函数的重构记录了下,今天在记录下在对象之间搬移特性。

    2.正题

    《重构改善既有代码的设计》中作者提到一句话,我非常认同。每段代码只能在它应该出现的位置。举一个例子。公司项目。Android中,一般Application类主要是初始化一些sdk,全局变量的。但是我接手那个项目Application类里面不仅仅有sp操作。还要判断是否能使用照相机等操作。这些明显是不对的。以mvc架构开发app。activity里面往往会用到网络请求。一般都会把网络请求代码放到activity中。其实这样做也不合理。所以有些人会把请求网络那块专门放到network包名下。

    2.1 Move Method(搬移函数)

    p1.png

    "Move"重构手法会先将搬移的函数变成静态,然后在“Move”才能转移成功。搬移函数的的确确要很注意函数内部的变量问题。
    具体操作:

    demo1.gif

    2.2 Move Delegate(移入委托类)

    移入之后,原类里面的函数没有被删除,这个就是和上面的手法的区别。

    demo2.gif

    2.3 Inline Class(将类内联化)

    在idea或者android studio中没得名字叫“Inline Class”的重构手法。可是我们可以通过“Move”来实现。

    p2.png

    操作的gif图:

    demo3.gif

    2.4 Pull Members Down/Up(提炼到父类)

    这个要说下。平时在写项目的时候,肯定会在写的过程中发现写的方法,可以抽取出来放到父类中。

    demo4.gif

    主要用到的就是这几个方法;搬移代码块的时候一定要注意代码块内部的变量。
    后面会说一些重新组织数据的手法。我先看看吧

    相关文章

      网友评论

        本文标题:代码重构之对象之间的搬移

        本文链接:https://www.haomeiwen.com/subject/tfswfxtx.html