重构
iteye_19520
这个作者很懒,什么都没留下…
展开
-
重构笔记1
1、好代码的两个重要标志:易读、易改。 2、重构的定义:在不改变代码的外在行为的前提下,对代码做出修改,以改进程序的内部结构。 3、当你发现自己需要为一个程序添加一个特性,而代码的结构使得你不能很方便的这么做,那么先重构那个程序,使得特性的添加比较容易进行,然后再添加特性。 4、设计不良的程序,往往需要更多的代码,因为在不同的地方存在使用完全相同的语句在做同样的事情。 5、重构可以...2008-05-24 18:28:23 · 94 阅读 · 0 评论 -
修改接口
1、接口修改了,什么事情都可能发生。 2、当需要修改的接口被那些“找不到,即使找到也无法修改”的代码使用时,接口的修改才会成为问题。这种情况下,我们会说,这个接口是“已发布接口”。 3、如果重构手法改变了“已发布接口”,你必须同时维护新旧两个接口,知道所有用户都有时间对这个变化做出反应,这不太困难。请尽量这么做:让旧接口调用新接口。当你修改函数名称时,请留下旧函数,让旧函数调用新函数。千万...2008-05-24 18:51:20 · 1150 阅读 · 0 评论 -
代码的坏味道1
1、重复的代码 首当其冲的是重复代码。如果在一个以上地点看到相同的程序结构,那么可以肯定,设法将其合二为一,程序会变得更好。2、长函数 拥有短函数的对象会活的比较好、比较长。间接层所带来的全部利益-解释能力、共享能力、选择能力-都是由小型函数支持的。 应该积极分解函数,应该遵循这样一个原则:每当感觉需要以注释来说明什么的时候,我们就把需要说明的东西写到一个独立的函数中,并以其用途(...2008-05-25 21:23:22 · 102 阅读 · 0 评论 -
为什么说Java中继承是有害的(1)
原文:http://blog.csdn.net//softwarezhang/archive/2005/04/25/362832.aspx 大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。实际上80%的代码应该完全用interfaces写,而不是通过extends。“JAVA设计模式”一书详细阐述了怎样用接口继承代替实现继承。这篇文章描述设计者为什么会这么作。 ...2008-06-13 15:04:17 · 122 阅读 · 0 评论 -
为什么说Java中继承是有害的(2)
作为另一个例子,比较下面两段代码: f(){ Collection c = new HashSet();//...g( c );}g( Collection c ){for( Iterator i = c.iterator(); i.hasNext() )do_something_with( i.next() );}和 f2(){ C...2008-06-13 15:04:59 · 120 阅读 · 0 评论 -
为什么说Java中继承是有害的(3)
这个代码成功编译,但是因为基类不知道关于stack指针堆栈的情况,这个stack对象当前在一个未定义的状态。下一个对于push()调用把新的项放入索引2的位置。(stack_pointer的当前值),所以stack有效地有三个元素-下边两个是垃圾。(Java的stack类正是有这个问题,不要用它). 对这个令人讨厌的继承的方法问题的解决办法是为Stack覆盖所有的ArrayList方...2008-06-13 15:06:01 · 121 阅读 · 0 评论 -
Replace Array with Object 以对象取代数组
1、如果一个数组中的各个元素代表了不同的东西,考虑用Object来代替数组。 2、数组应该只用于容纳一组相似对象。 3、如果一个数组容纳了不同对象,会给array用户带来麻烦。...2008-07-05 20:26:54 · 141 阅读 · 0 评论