《重构2》第九章-重组数据

简介: 《重构2》第九章-重组数据

代码运行中,一个值用于不同字段,或者一个字段对象不同的值,将会造成数据的紊乱,即使有注释,也无济于事!!!

1. 拆分变量

有一些变量承担了一段代码运算的结果,以便后续使用,但是如果被赋值超过一次,则意味着这个歌变量有了更多的责任,此时,就应该将这个字段拆分为多个,分别承担一个责任.
一个变量承担的责任太多,会让代码阅读的成本倍数增加!

2. 字段改名

承认吧,在开发时期,字段/函数起名时一个大难题,但是基于当前代码环境,语义话的命名是我们执行的规则,那么为什么还要字段改名呢?随着时间的流逝,我们给变量赋予了更多的功能,或者,我们想到了更合适的名称.当然,在重构之时,记得更改调用方法名称.

3. 以查询取代派生变量

用对象或者函数减少代码的耦合,尽量缩小可变数据的作用率!

4.将引用对象改为值对象/将值对象改为引用对象

将引用对象改为值对象:其实就是将对象引用,改为类的获取引用
将值对象改为引用对象:就是将new的对象值,改为使用数据结构引用

目录
相关文章
|
3月前
|
监控 安全 项目管理
『软件工程3』你应该知道的三种原型实现模型:抛弃式、演化式、增量式
该文章详细解释了三种原型实现模型——抛弃式、演化式、增量式模型的特点、流程、优缺点及适用场景。
『软件工程3』你应该知道的三种原型实现模型:抛弃式、演化式、增量式
|
设计模式
重构·改善既有代码的设计.03之重构手法(上)
之前的重构系列中,介绍了书中提到的重构基础,以及识别代码的坏味道。今天继续第三更,讲述那些重构手法(上)。看看哪些手法对你的项目能有所帮助......
19268 1
重构·改善既有代码的设计.03之重构手法(上)
重构-动态下机
重构-动态下机
55 0
《重构2》第八章-搬移
《重构2》第八章-搬移
132 0
|
数据处理
《重构2》第六章-重构基础
《重构2》第六章-重构基础
310 0
|
自然语言处理 算法 JavaScript
重构的秘诀:消除重复,清晰意图
  11年前有幸阅读了《重构——改善既有代码的设计》第一版,当时是一口气读完的,书中的内容直接惊艳到我了。   今年读了该书的第二版,再次震撼到我了,并且这次的示例代码用的JavaScript,让我更有亲切感。   全书共有12章,前面5章是在讲解重构的原则、测试、代码的坏味道等内容,后面7章是各种经验和实践,全书的精髓所在。
|
5G 定位技术 虚拟化
空域结构 | 带你读《5G 空口设计与实践进阶 》之二十二
在 NR 物理层中,来自上层的业务流进行信道编码后的数据,称之为码字(Code Word)。不同的码字可以区分不同的数据流,其目的是通过 MIMO 发送多路数据,实现空分复用。由于码字数量与发射天线数量不一致,需要通过层映射和预编码将码字流映射到不同的发射天线上。层映射首先按照一定的规则将码字流重新映射到多个层(新的数据流),预编码再将数据映射到不同的天线端口上,再在各个天线端口上进行资源映射,生成 OFDM 符号并发射。
空域结构 | 带你读《5G 空口设计与实践进阶 》之二十二