概述
一、重构定义
定义:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
重构时间:应该随时进行重构,而不是抽出特定的时间进行重构。
目标:1、容易阅读。2、所有逻辑都在唯一地点指定。3、新的改动不会危机现有行为。4、尽可能简单表达条件逻辑。 5、计算机科学相信所有的问题都可以通过增加一个间接层来解决,优先:A、允许逻辑共享B、分开解释意图和实现C、隔离变化D、封装条件逻辑。
重构注意事项:1、重构改变数据库,在非对象性数据库中解决这个问题的办法就是在对象模型和数据库模型之间插入一个分割层,这就可以隔离两个模型各自的变化。2、面对那些已发布接口进行重构,比如公开接口。通常的办法是让旧接口继续工作,让旧接口调用新接口,当修改某个函数名称时留下旧函数让其调用新的函数。注意千万不要复制函数实现,那会让你陷入重复代码的泥泽中难以自拔。你还可以使用Java提供的deprecation设施,将旧接口标记为deprecation。这么一来你的调用者就会注意到它了。
二、代码的坏味道
1、尽量去除重复代码。(Duplicated Code)
2、避免过长的函数。(Long Method)
3、避免过大的类。(Large Class)
4、过长的参数列。(Long Parameter List)
5、发散式变化。(Divergent Change)
复制一份类内容,提炼出要变化的量。
6、散弹式修改。(Shotgun Surgery)
创建一个内部类存放所有需要变化的方法。
7、依恋情节。(Feature Envy)
8、数据泥团。(Data Clumps)
9、基本类型偏执。(Primitive Obsession)
10、switch惊悚献身。(Switch Statements)
最后
以上就是瘦瘦小蝴蝶为你收集整理的重构改善即有代码设计 总结一、重构定义二、代码的坏味道的全部内容,希望文章能够帮你解决重构改善即有代码设计 总结一、重构定义二、代码的坏味道所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复