`

重构-改善既有代码的设计(代码的坏味道)

 
阅读更多
代码的坏味道:
1.duplicated code(重复代码)
2.long method(过长函数)
3.long parameter list (过长参数列)
4.large class (过于复杂的类)
5.divergent change (分散式变化)
reference:某个类因为不同原因在不同方向上发生变化。这是你应该把该类分离成若干个类。
6.shotgun surgery (散弹式修改)
reference:和 divergen change 有点相似,但又恰恰相反。如果是因为一个原因,你需要在不同类中做出修改。
这时候你应该用move method 以及 move field 到同一个类中。

divergen change 是指“一个类受多种变化的影响” ,shotgun surgery 是指“一个变化受多个类的相应修改”。这两种情况,你都需要对类进行修改,
使 "外界变化" 与 “需要修改的类” 趋于一一对应。
7.feature envy (依赖情节)
reference:函数对某个类的兴趣高过于自己所处的类。
这是时候你应该把这个函数move method到理想的地方去。
如果这个函数只是部分依赖某类,你应该先extract method ,在move method带他进入适当的位置。
8.data clump (数据泥团)
reference:两个类中相同的字段、许多函数签名具有相同的的参数。这些总绑在一起的数据应该有自己的类。(DAO Query对象)
9.primitive obsession (基本类型偏执)
reference:我往往不愿意为 小任务 创建一个小对象,或者有时候我们可以 replace data valule with object,extract class.
10.switch statements (swtich 惊悚现身)
reference:在大多数用switch语句情况下,我们可以运用 replace type code with subclass。
11.paralle inheritance hierarchies (平行继承体系)
reference:当你为某个类增加子类时,必须为另一个类增加相同子类。
消除这种重复性的一般策略是:让一个继承体系实例引用另一个集成体系的实例,在运用move method 和move field。
12.lazy class (冗赘类)
reference:如果函数或者类的唯一用户只是测试,那么你的代码就有 speculative generality 的味道。
13.speculative generality(夸大代码未来性)
14.temporary field (临时字段)
reference:某些字段只是在某些算法时才有效,其他时候会让人迷惑。这时候你可以用extract class 将相关字段和函数放到一个独立类中去。
提炼后的对象是函数对象。
15.message chains (消息链)

16.middle man (中间人)
17.inappropriate intimacy (狎昵关系)
18.alternative classes with different interfaces (异曲同工的类)
19.incomplete library class(不完美的库类)
20.data class (幼稚的数据类)
21.refused bequest(被拒绝的遗赠)
22.comments(过多的注释)
分享到:
评论

相关推荐

    重构-改善既有代码的设计

    第3章 代码的坏味道 75 3.1 Duplicated Code(重复代码) 76 3.2 Long Method(过长函数) 76 3.3 Large Class(过大的类) 78 3.4 Long Parameter List(过长参数列) 78 3.5 Divergent Change(发散式...

    重构-改善既有代码的设计+中文版.pdf 侯捷 侯俊杰

    《重构-改善既有代码的设计》是由Martin Fowler所著的一本软件工程领域的经典书籍,中文版由侯捷翻译,与《设计模式》齐名,被广泛认为是软件开发人员提升编程技能的必读之作。书中展示了超过70种行之有效的重构方法...

    重构-改善既有代码的设计

    于是萌生想做一本重构工具书的想法,本来打算自己重新将重构书的内容再整理归类一下,后来发现原书的目录编排就很适合做工具书,包括坏味道分类,重构手法归类等,都有了一个比较系统的整理。因此,我利用空余时间...

    重构_重构_改善既有代码_

    《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...

    重构-改善既有代码设计

    《重构-改善既有代码设计》是一本专注于软件开发过程中代码优化和重构的权威书籍,尤其对Android、Java、C和C++等编程语言的开发者具有很高的参考价值。本书旨在通过详细的实例和深入的分析,教导读者如何有效地改进...

    重构改善既有代码的设计第2版.pdf

    重构改善既有代码的设计第2版.pdf 本书主要讨论了如何通过重构来改善既有代码的设计,提高代码的可维护性、可读性和可扩展性。下面是对书中重要的知识点的总结: 1. 重构的定义和重要性:重构是指对既有代码的修改...

    重构 -改善既有代码的设计 [美] Martin Fowler-著 熊节-译

    《重构 -改善既有代码的设计》是由美国著名软件开发专家Martin Fowler所著,由熊节翻译的一本经典IT著作。这本书深入探讨了重构这一关键的软件工程实践,旨在帮助开发者提升既有代码的质量和可维护性。重构是软件...

    重构-改善既有代码的设计+中文版.pdf

    重构-改善既有代码的设计+中文版代码重构 代码的新思维 何为优秀代码 代码的坏味道 如何重构 设计重构 设计的基本原理 重构到模式 架构重构

    重构-改善既有代码的设计(含中文PDF,英文chm)

    《重构:改善既有代码的设计》是一本由Martin Fowler所著的经典软件工程书籍,它深入探讨了如何通过重构技术提升代码质量、可维护性和设计的优雅性。这本书对于开发者来说是不可或缺的参考文献,无论是在团队协作...

    重构-改善既有代码的设计.pdf

    根据提供的文件信息,“重构-改善既有代码的设计.pdf”这一标题及描述表明这是一份专注于讨论如何通过重构技术来优化和改进现有代码结构及其设计的文档。重构是软件开发中的一个重要概念,它指的是在不改变软件外部...

    重构-改善既有代码的设计之代码的坏味道举例说明.md

    重构-改善既有代码的设计之代码的坏味道举例说明.md

    《重构-改善既有代码的设计》书中源码

    《重构-改善既有代码的设计》是一本由Martin Fowler所著的经典IT著作,专注于软件开发中的重构实践和技术。这本书深入探讨了如何通过一系列微小而精确的步骤改进代码结构,提高软件质量,同时保持代码功能不变。书中...

    重构-改善既有代码质量

    《重构-改善既有代码质量》一书是Martin Fowler的经典之作,它深入探讨了如何通过重构技术来提升软件的可读性、可维护性和整体质量。重构是一个系统化的过程,旨在改进代码结构,而不改变其外在行为。在这个过程中,...

    重构-改善既有代码的设计(英文版)

    《重构:改善既有代码的设计》是由Martin Fowler等人所著的一本软件开发领域的经典之作。这本书详细阐述了重构的概念、原则和方法,是所有致力于提高软件质量、追求代码设计优雅的程序员不可或缺的学习资料。 重构...

    《重构-改善既有代码的设计》电子书以及总结的书中源码

    《重构-改善既有代码的设计》是一本由Martin Fowler所著的经典IT著作,专注于软件开发中的重构实践和技术。这本书深入探讨了如何通过一系列微小而精确的步骤改进代码结构,提高代码质量,降低维护成本,同时保持软件...

Global site tag (gtag.js) - Google Analytics