Java代码重构手法列表.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java代码重构手法列表

代码重构 最近一个小项目,在编写代码实现的过程中,随着时间的推移,对业务的深入了解,我在不断的改变类的组合模型,不断的细分功能特性,但最终实现的效果不变。这样做的好处是,后来添加新功能时,我能轻松的找到切入点,在调整细节的时候相对独立的进行,大大的减少了调试的时间,可让我兴奋了好一阵。 后来,回头审视代码,发现在类内部细节的代码构建上,还有一些问题(一些让人看了想出手改一改的问题),下手改了几处,达不到效果,又还原了回来。利用闲暇时间,重读了MF的重构,内心巨震,在漆黑中找到了萤火虫.. 以下列表来自《重构》一书,记录在博客里,以方便自己随时查阅,拿起重构圣剑,拯救我的乱麻代码。 按类型分为6部分。 重新组织函数 Extract Method(提炼函数) Inline Method(内联函数) Inline Temp(内联临时变量) Replace Temp with Query(以查询取代临时变量) Introduce Explaining Variable(引入解析性变量) Split Temporary Variable(分解临时变量) Remove Assignments to Parameters(移除对参数的赋值) Replace Method with Method Object(以函数对象取代函数) Substitute Algorithm(替换算法) 在对象之间搬移特性 2.1 Move Method(搬移函数) 2.2 Move Field(搬移字段) 2.3 Extract Class(提炼类) 2.4 Inline Class(将类内联化) 2.5 Hide Delegate(隐藏“委托关系”) 2.6 Remove Middle Man(移除中间人) 2.7 Introduce Foreign Method(引入外加函数) 2.8 Introduce Local Extension(引入本地拓展) 重新组织数据 3.1 Self Encapsulate Field(自封装字段) 3.2 Replace Data Value with Object(以对象取代数据值) 3.3 Change Value to Reference(将值对象改为引用对象) 3.4 Change Reference to Value(将引用对象改为值对象) 3.5 Replace Array with Object(以对象取代数组) 3.6 Duplicate Observed Data(复制“被监视数据”) 3.7 Change Unidirectional Association to Bidirectional(将单向关联改为双向关联) 3.8 Change Bidirectional Association to Unidirectional(将双向关联改为单向关联) 3.9 Replace Magic Number with Symbolic Constant(以字面常量取代魔法数) 3.10 Encapsulate Field(封装字段) 3.11 Encapsulate Collection(封装集合) 3.12 Replace Record with Data Class(以数据类取代记录) 3.13 Replace Type Code with Class(以类取代类型码) 3.14 Replace Type Code with Subclasses(以子类取代类型码) 3.15 Replace Type Code with State/Strategy(以state/Strategy取代类型码) 3.16 Replace Subclass with Fields(以字段取代子类) 简化条件表达式 4.1 Decompose Conditional(分解条件表达式) 4.2 Consolidate Conditional Expression(合并条件表达式) 4.3 Consolidate Duplicate Conditional Fragments(合并重复的条件片段) 4.4 Remove Control Flag(移除控制标记) 4.5 Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式) 4.6 Replace Conditional with Polymorphism(以多态取代条件表达式) 4.7 Introduce Null Object(引入Null对象) 4.8 Introduce Assertion(引入断言) 简化函数调用 5.1 Rename Method(函数重命名) 5.2 Add Parameter(添加参数

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档