`
李宏喜
  • 浏览: 119527 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

混乱到清晰-重构之拆离

 
阅读更多
周五,对一个模块的代码做重构,这部分的代码,是采用Ext4以MVC的方式实现的,在修改代码的过程中,经历了两个阶段,从混乱到清晰,而从混乱到清晰的转变的关键是静下心,思考一下,画出代码的结构草图,整个过程,我使用下面的一个草图来表达



1.混乱
  从图的上半部,可以看到 A、B两个Panel中分别拥有属于自己的Record, 而A和B属于同一个命名空间,所有对于record的处理,特别命名时,出现混淆、逻辑不清的现象,越改越乱,这时候,我停了下来,静静地思考了一下
  对我自己说,我应该跳出来,上升到一个新的高度。于是在旁边的笔记本上,画出这张图的下半部。

2.清晰
 
  2.1 我在A和B的平级,建立package,名字为record
  2.2 从A中,复制出record的文件,并在record的package中,复制新建Record文件
  2.3 修改A中的record的所有引用到record的package中,当然也包括A中的Controller中对Record的引用
  2.4 部署并测试A部分的功能
  2.5 对于B,重复2.2至2.4的步骤
  2.6 移除A和B中旧的record文件
  2.7 重新部署并测试A和B的功能
  2.8 最后提交代码

我认为,站在一个高度上,思考并画出结构草图,然后再使用正确的方法实现,是一种能够培养的高效的思维习惯!
知识的源泉是英文版《实现模式》,英文评注版《测试驱动开发》,英文版《重构》,由衷地感谢诸位大师!
  • 大小: 396.7 KB
分享到:
评论

相关推荐

    行业资料-交通装置-一种可拆离防滑汽车踏板.exe

    行业资料-交通装置-一种可拆离防滑汽车踏板.exe

    电子功用-可拆离的一体式混合电池

    标题中的“电子功用-可拆离的一体式混合电池”是指一种创新的电池技术,它将电池设计成可拆离且一体化的结构,适用于电子产品,尤其是便携式设备。这种混合电池结合了不同类型的电池技术,如锂离子、锂聚合物或者...

    行业文档-设计装置-一种可拆离笔筒.zip

    在IT行业中,设计装置往往涉及到硬件创新、结构设计和用户体验等多个方面。对于“一种可拆离笔筒”的设计,我们可以从以下几个关键知识点进行深入探讨: 首先,产品设计是IT领域中的一个重要部分,尤其是在物联网...

    lotus拆离附件到本地目录lotusscript

    本文档提供了使用LotusScript实现从Lotus Notes数据库中拆离附件到本地目录的功能介绍。通过具体代码示例,不仅展示了如何利用LotusScript与Notes API进行交互,还深入分析了其中涉及的重要知识点和技术细节。这对于...

    鄂尔多斯地块西部南北向拆离滑覆构造 (2004年)

    - **地震剖面特征:** 在85197、85173、85061等地震剖面上,可以看到拆离滑脱面HM呈现南高北低的特征,其上的T8、T7反射层均与之平行。这种特征进一步支持了韦州-石沟驿拆离滑覆构造的存在。 #### 三、结论 通过对...

    拆离断层带中的构造成矿作用

    描述了拆离断层带中的构造成矿作用,对新的构造应力场进行了分析

    辽南变质核杂岩拆离断层带岩石变形特征研究

    拆离断层是地质研究的热点问题之一,它是一种高角度正断层,具有脆性剪切变形的特征,在地壳深部向水平伸展的低角度正断层转变。辽南变质核杂岩位于华北地台东部辽东半岛南部,其结构复杂,具有三层结构:上盘弱变形...

    从Laravel拆离出的集合PHP库.zip

    它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。<?php ...

    推覆构造的动力学特征及其对瓦斯突出的作用机制

    逆冲推覆和重力滑覆的共性特征是存在一个以相对低的强度和高的剪切应变为特征的滑脱面或拆离层,分隔着其上下力学性质和应变特征不同的两盘。推覆构造对煤与瓦斯突出的作用机制主要表现为2个方面:①推覆构造形成过程...

    tmux Productive Mouse-Free Development.pdf

    拆离(tmux detach)是指暂时退出tmux会话但保留会话中的所有内容,以便稍后可以重新连接。这对于长时间运行的任务特别有用。要拆离当前会话,可以按下`Ctrl + b`然后输入`d`。 ```bash Ctrl + b d ``` 重新连接到一个...

    伸展盆地拆离构造分析及石油地质意义 (2000年)

    岩石圈的层状结构使拆离作用在沉积盆地中成为一种普遍发生的现象。拆离作用具有4种岩石圈伸展模式。拆离构造具有发育剪切滑移带、多级次滑脱、构造形态上下不协调、发育动力变质岩和地层重复或缺失等特征。拆离作用...

    Eclipse提示与技巧

    ### Eclipse提示与技巧详解 #### 1. 导航历史记录功能 - **知识点**: Eclipse的工作台编辑器能够保存用户的导航历史记录,...- **操作步骤**: 右击要移动的视图并选择【拆离的】命令,或直接拖动视图选项卡进行拆离。

    南大通用GBase8s SQL常用SQL语句(五).docx

    在GBase8s中,`DETACH`子句是用于表分片管理的一个关键操作,它允许用户将分片从分布式方案中分离出来,将其内容转移到一个新的未分片的表中。`DETACH`子句主要应用于`ALTER FRAGMENT ON TABLE`语句,但不适用于`...

    地面厂区、作业场所防火、防水、防爆、防雷制度-安全管理-安全管理制度-消防安全.docx

    如需进行,必须拆离危险源一定距离并在采取相应安全措施后进行。 20. **高空作业安全措施** - 高空焊割作业时,需采取措施防止火花飞溅;遇到六级以上大风时应暂停作业。 21. **危险品搬运注意事项** - 搬运...

    内蒙古自治区大青山地区厂汉敖包一带金矿地质特征及找矿前景分析.docx

    燕山期岩浆活动对这一地区的地质构造产生了重大影响,形成了大规模的拆离面,这些拆离面成为了后期石英脉侵入的重要通道,从而富集了围岩中的有益组分,形成金矿床。 #### 矿区地质特征 ##### 地层 - **中元古界...

    CAD外部参照在建筑设计中的应用与技巧.pdf

    3. 拆离与卸载:如果当前图形不需要某个外部参照文件,可以使用拆离或卸载功能删除或隐藏它。 4. 绑定:当外部参照文件可能被删除时,为了保证主图形文件的完整性,需要将外部图形绑定到当前图形文件中。绑定方式...

    冷柜汇总表方法及审核应注意事项(DOC模板格式).doc

    综上所述,冷柜汇总表的管理和审核涉及多个层面,从报表的整理、合并、数据验证到分析,每个环节都需要细致入微的操作和严谨的逻辑。确保数据准确无误是保证决策支持的基础,同时也反映了企业内部管理的规范化程度。

    甘蓝型油菜染色体组分开现象初探 (1999年)

    在甘蓝型油菜奥罗花粉母细胞减数分裂过程中,观察到若干异常染色体行为0490-6756如在早双线期看到染色体聚集成两个染色体群,在双线期及早终变期两个染色体群逐渐拆离0490-6756表现出不同步分裂0490-6756其中9条...

Global site tag (gtag.js) - Google Analytics