《重构-改善既有代码的设计》读书笔记(二)

简介:
12 Lazy Class –  冗赘类
对于几乎没有用的类,运用 inline class  将其功能移动。去除这些不值得维护的类。
 
13 Speculative Generality –  夸夸其谈未来性
    对于你现在用不到,觉得总有一天会用到的代码,要警惕。用不上的装置总会挡我们的路,所以要尽量搬开。例如,没有太大作用的 abstract class ,非必要的委托,没有用到的函数参数,或者是函数的名称带有多余的抽像的意味。
 
14 Temporary Field –  令人迷惑的暂时值域
  如果某些变量只是为了某种特定情况而设的,常会让人不理解
 
15 Message Chains –  过度耦合的消息链
    你常会看到用户向一个对象请求另一个对象,然后再向后者请求另一对像,然后再继续 形成了一个强耦合的消息链。一旦对像间的关系发生任何变化,客户不得不做出大量修改。
 
16 Middle Man – 中间转手人
   Encapsulation –  封装,对外部世界隐藏内部细节。封装常常伴随 delegation (委托),但如果被过度使用,就必须得重新考虑。如果你看到某个 class 中有一半的函数都委托给其它 class ,这时就是强烈地信号。
 
17 Inappropriate Intimacy –  狎昵关系
  二个类之间的关系联系太过紧密,造成强耦合。一般来讲,继承往往会造成这样结果,因为 subclass superclass 的了解总是超过 superclass 的主观愿望。
 
18 Alternative Classed with Different Interfaces--  异曲同工的类
  二个函数做同样的事,却有着不同的名字。你该知道怎么处理了吧。
 
19 Incomplete Library Class –  不完美的程序库类
  我们在运用程序类库的时候,发现它并不是真正适合需要。
 
20 Data Class  纯稚的数据类
  找到 Data Class  中可能存在的 public 的值域,如果它的 fields 中存在容器类,就要小心地检查是不是得到了有效的封装。
 
21 Refused Bequest –  被拒绝的遗赠
Subclasses  应该继承 superclass 的函数和数据,但是如果 subclass 并不需要 superclass 的中某些功能,该怎么办呢。
 
22 Comments –  过多的注释

这里讲并不是你不应当写注释,而是说,如果一段代码有着长长的注释,实际上说明这段代码是不容易看懂的,如果到处都需要大段的注释,那整体程序的可读性就大大困难;如果你一定需要一段注释来说明,那么先试着重构,把可提出去Method 找出来,如果这之后仍然需要注释来解释其行为,那就要试着Rename,使其拥有有一个能说明其行为的类名或方法名,程序可读性会大大增强


本文转自   wenyan  51CTO博客,原文链接:http://blog.51cto.com/wenyan/9953

相关文章
|
设计模式 算法 Java
设计模式第十五讲:重构 - 改善既有代码的设计(下)
设计模式第十五讲:重构 - 改善既有代码的设计
294 0
|
设计模式 Java 测试技术
设计模式第十五讲:重构 - 改善既有代码的设计(上)
设计模式第十五讲:重构 - 改善既有代码的设计
336 0
|
设计模式
重构·改善既有代码的设计.03之重构手法(上)
之前的重构系列中,介绍了书中提到的重构基础,以及识别代码的坏味道。今天继续第三更,讲述那些重构手法(上)。看看哪些手法对你的项目能有所帮助......
19266 1
重构·改善既有代码的设计.03之重构手法(上)
|
设计模式
重构·改善既有代码的设计.04之重构手法(下)完结
重构改善既有代码的设计完结篇,汇总了全部的重构手法。看看哪些手法对你的项目能有所帮助…
7422 2
重构·改善既有代码的设计.04之重构手法(下)完结
|
设计模式 程序员 开发者
重构·改善既有代码的设计.01之入门基础
近期在看Martin Fowler著作的《重构.改善既有代码的设计》这本书,这是一本经典著作。书本封面誉为软件开发的不朽经典。书中从一个简单的案例揭示了重构的过程以及最佳实践。同时给出了重构原则,何时重构,以及重构的手法。用来改善既有代码的设计,提升软件的可维护性。
640 1
重构·改善既有代码的设计.01之入门基础
|
数据处理
《重构2》第六章-重构基础
《重构2》第六章-重构基础
310 0
重构改善既有代码的设计---笔记
重构改善既有代码的设计---笔记
225 0
|
设计模式 Java 程序员
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
212 0
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
583 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
下一篇
DataWorks