混乱到清晰-重构之拆离
来源:互联网 发布:千牛mac电脑版 编辑:程序博客网 时间:2024/05/24 05:36
周五,对一个模块的代码做重构,这部分的代码,是采用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 最后提交代码
我认为,站在一个高度上,思考并画出结构草图,然后再使用正确的方法实现,是一种能够培养的高效的思维习惯!
知识的源泉是英文版《实现模式》,英文评注版《测试驱动开发》,英文版《重构》,由衷地感谢诸位大师!
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 最后提交代码
我认为,站在一个高度上,思考并画出结构草图,然后再使用正确的方法实现,是一种能够培养的高效的思维习惯!
知识的源泉是英文版《实现模式》,英文评注版《测试驱动开发》,英文版《重构》,由衷地感谢诸位大师!
0 0
- 混乱到清晰-重构之拆离
- 重构-让代码更清晰
- 清晰代码和代码重构大纲
- 重构1:梳理并分解混乱的继承体系
- PCA、LDA的参考学习、理解、混乱、清晰的过程
- session 之session混乱
- 项目混乱之道
- JBuilder2005实现重构之升级到JDK5.0
- 网页图片模糊到清晰
- 图片由模糊到清晰
- 背景加载模糊到清晰
- 重构了一下我的扫雷代码,代码清晰了许多
- 【web前端优化之图片模糊到清晰】看我QQ空间如何显示相片
- session 之session混乱解决方法
- session 之session混乱解决方法
- session 之session混乱解决方法
- session 之session混乱解决方法
- GC 的混乱之处
- Unity3D游戏开发之游戏读/存档功能在Unity3D中的实现
- Ext4使用总结(四)Ext4跨命名空间 引用
- 在视图类中处理命令消息,才开始菜单按钮是灰色,点一下视图,就不是灰色的原因
- Ext4使用总结(五)布局的调试
- Ext4使用总结(六)树的动态加载,分支的刷新
- 混乱到清晰-重构之拆离
- 程序员如何有效地做到纵向管理,减少压力
- 重构时避免方向性错误
- java实现选择排序算法
- Ext4的MVC结构如何抽取公用组件
- ThoughtWorks TDD open-workshop第三次参加个人总结
- struts1的处理流程 和配置文件详解
- 追求卓越的设备维修策略
- Ext4使用总结(七) Ext4使用view做图片的横向显示