《重构-改善既有代码的设计》Martin Fowler 摘要: 第九章 简化条件表达式
Decompose Conditinal 分解条件表达式
你有一个复杂的条件(if-then-else)语句
从三个段落中分别提炼出独立函数
Consolidate Conditional Expression 合并条件表达式
你有一系列条件测试,都得到相同结果
将这...
分类:
其他好文 时间:
2014-06-20 13:03:15
阅读次数:
212
《重构-改善既有代码的设计》Martin Fowler 摘要: 第八章 重新组织数据
Self Encapsulate Field 自封装字段
你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。
为这个字段建立取值/设置函数,并且只以这些函数来访问字段。
子类用超类数据时
Replace Data Value with Object 以对象取代数据值
...
分类:
其他好文 时间:
2014-06-20 12:42:22
阅读次数:
280
.\Obj\HST3GSTM32F205.axf: Error: L6218E: Undefined symbol get_host_by_name (referred from neti_tcpip.o).
.\Obj\HST3GSTM32F205.axf: Error: L6218E: Undefined symbol tcp_abort (referred from neti_tcpip....
分类:
其他好文 时间:
2014-06-07 16:22:39
阅读次数:
260
分层
分层是为了减少层与层之间的依赖,增加程序的可读性,让整个系统结构清晰明确,还可大大降低维护成本,但是分层也有一定的缺点,有些可以直接访问数据库的层,却要通过负责访问数据库的层进行访问,这样,在访问数据库过程中就多出一个环节,增加了系统的开销,有时候要在表示层增加某个功能,为了降低耦合,就不得不自上而下,在每一层里面增加这个功能所需的服务类,这样就增加了开发成本
...
分类:
数据库 时间:
2014-06-07 15:23:00
阅读次数:
339
《重构-改善既有代码的设计》Martin Fowler 摘要: 第七章 在对象之间搬移特性
Move Method 搬移函数
你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用后者,或被后者调用
在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数,或者将旧函数完全移除。
Move Field 搬移字段
某个字段被其所驻类之外...
分类:
其他好文 时间:
2014-06-07 15:18:01
阅读次数:
171
机房也进行了好几天了,不过最近这几天依旧是停留,停留...
分类:
其他好文 时间:
2014-06-07 13:17:50
阅读次数:
220
最近在维护代码,或者说是重构,代码太烂了,每加个小的功能要费太多时间,很多时间都花费在理解他人的代码并修补上,出问题了,大家都不知道怎么个回事,于是开始从大的方面重构,至少先整个主干出来,算是开个头。发现一个问题是,很多烂的代码是开发人员在对某个工具知之甚少情况下就开始使用而形成的,大概知道那么一点...
分类:
其他好文 时间:
2014-06-07 10:38:28
阅读次数:
181
本次重构,需要注意:1、代码的规范,详细的注释 主要集中
在方法和类的描叙2、目录结构的合理,包名的设计首先目录的设计:1、activitiy的目录 (所有的界面)2、serverice目录
(后台的服务)3、通用的目录 (通用的方法与常量:譬如时间,字符串操作,定义常量)4、数据库 目录 (sql...
分类:
其他好文 时间:
2014-06-06 09:57:52
阅读次数:
177
1)寻找引用点时,最好使用工具,然后再人工review。在看到这个问题的时候,我估计应该是很久之前了。现在用IDE。这个要方便很多。
2)重新组织函数的方法和目标。 其实目标很简单。就是消灭长函数。 常用方法 Extract method Inline Method Replace Temp
wit...
分类:
其他好文 时间:
2014-06-05 16:51:44
阅读次数:
254
demo
model我们采用mvc软件架构模式,方便以后用Struts2框架技术优化、重构、封装。这次主要设计一些常用的方法工具,即数据访问逻辑。工具:eclipse、oracle、sqldeveloper。思路如下:1、
用sqldeveloper新建表oneds,写入一条name=”cookie...
分类:
其他好文 时间:
2014-06-04 15:28:03
阅读次数:
287