美文网首页重构改善既有代码设计
代码重构之重新组织数据

代码重构之重新组织数据

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

1.引言

最近看代码重构的数据遇到问题了。很多重构手法都不是很明白,于是捡自己遇到的能理解的,记录下。

2.正题

8.1 replace Data Value with Object(以对象取代数据值)

将基本类型数据封装成对象数据。此重构手法主要是方面以后的拓展,实际项目中不是很常用。理解下意思就行。

8.2 replace Array with Object(以对象取代数组)

假如一个数据保存的是不同属性的值。可以用对象来代替数组。一种封装的思想。

8.3 Encapsulate Filed(封装字段)

将属性字段设置成private,然后提供get/set 方法。之所以设置成私有而不是public。因为这样可以降低程序的耦合性。虽然我经常喜欢写成public的。但是以后还是注意吧。

9.1 Decompose Conditional(分解条件表达式)

条件逻辑往往是造成代码难以阅读的罪魁祸首。我自己写代码的时候有的甚至能嵌套3。4个if/else。假如不注意,那么每个分支的代码会很大难以阅读。。所以当分支的 代码太大,要单独的写一个方法来处理。

9.2 Consolidate Conditional Expression(合并条件表达式)

将有些不必要的if/else 合并成一个。

合并重复代码

 public void test(){
        int total;
        if (isPass()){
            total++;
            send();
        }else {
            total--;
            send();
        }
    }

一般写if/else代码的时候,先写if,然后在写else。假如嵌套多了的话,为了避免错误,重复了就重复了。这是我以前写代码的思想。。但是现在当发现if/else 代码块有重复的部门必然会想着怎么提出来。避免重复。

9.3 Remove Control Flag(移除控制标记)

在做for循环或者判断的时候。能用break.return,continue尽量用这些控制标记,能减少不必要的循环。

9.4 以卫语句代替嵌套语句。

条件表达式通常有俩种表现形式。第一种是:所有的分支都是正常的业务逻辑;第二种是:只有一种业务逻辑是正常的。。第一种:通常就不得不用if...else.....; 第二种:如果某一个条件极其的罕见,就应该单独检查该条件。当条件位置正的时候立马retrun。这样的单独检查成为“卫语句”。。判断某一个是不是符合要求的值,也是一样。在方法开始的时候就给予判断,true继续执行,false立马结束掉循环。

9.5 多态 简化条件表达式,或者代替switch

9.6 使用三目表达式代替 if或者if/else。

三目表达式能极大的简介代码。

相关文章

  • [第三篇]重构-重新组织数据

    事先说明,文章首发于自己个人站点,戳「重构-重新组织数据」之解。 继续「重构-改善既有代码设计」之旅,重构前两章的...

  • 代码重构之重新组织数据

    1.引言 最近看代码重构的数据遇到问题了。很多重构手法都不是很明白,于是捡自己遇到的能理解的,记录下。 2.正题 ...

  • 2019-02-17 《重构—改善既有代码的设计》手法汇总

    重构手法 代码的坏味道 以下内容来自《重构—改善既有代码的设计》 一、重新组织函数 1、Extract Metho...

  • 《重构》- 重新组织数据

    一. Self Encapsulate Field(自封装字段) 介绍 场景你直接访问一个字段,但与字段之间的耦合...

  • 重构——重新组织数据

    1 Self Encapsulate Field(自封装字段) 直接访问一个字段,会导致字段之间的的耦合关系过于笨...

  • 代码重构专题(转载)

    代码重构(一):函数重构规则代码重构(二):类重构规则代码重构(三):数据重构规则代码重构(四):条件表达式重构规...

  • 重构(七)重构名录-重新组织数据

    拆分变量Split Variable 动机:如果变量被赋值超过一次,就意味着它们在函数中承担了一个以上的责任。如果...

  • 重构手法--重新组织数据

    1、自封装值域 在对象内部,不直接访问自己的私有属性,而通过get/set方法访问 2、以对象取代数据值 如果某个...

  • 001-重新组织函数

    重新组织函数 重构的基本技巧:小步前进,频繁测试 1. Extract Method(提炼函数) Q:你有一段代码...

  • 4.软件工程基础

    01.重构:敏捷方法,简化构建设计,重新组织 敏捷方法中,重构是一种重新组织技术,重新审视需求和设计,重新明确地描...

网友评论

    本文标题:代码重构之重新组织数据

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