Refactoring
文章平均质量分 60
biqing88
这个作者很懒,什么都没留下…
展开
-
简化条件表达式(Simplifying Conditional Expressions)
1、Decompose Conditional(分解条件式) 从IF、THEN、ELSE三个段落中分别提炼出独立函数。 在带有复杂条件逻辑的函数中,代码(包括检查条件分支的代码和真正实现功能的代码)会告诉你发生的事,但常常让你异不清楚为什么会发生这样的写,这就说明代码的可读性的确大大降低了。 你可以将它分解为多个独立函数。根据每个小块代码的用途,为分解而得的新函数命名。并将原函数中对应的代码...2009-03-14 23:47:22 · 261 阅读 · 0 评论 -
Making Method Calls Simper(简约函数调用)
1、Rename Method 重新命名函数 函数的名称未能揭示函数的用途。 修改函数名称。 考虑应该给这个函数写上一句怎样的注释,然后想办法讲注释编程函数的名称。 2、Add Parameter 添加函数 某个函数需要从调用端得到更多信息。 尽量不要增加参数,有可能带来坏味。 3、Remove Parameter 不去掉多余参数,让调用者多费一份心。 4、Sep...2009-04-02 08:06:35 · 144 阅读 · 0 评论 -
重新组织函数(Composing Methods)
1.Extract Method 如果每个函数的粒度都很小(finely grained),那么函数之间彼此复用的机会就更大,高层函数读起来就像一系列注释 如果函数都是细粒度,那么函数的覆写(override)也会更容易些。 无局部变量(No local Variables) 有局部变量(Using Local Variables) 对局部变量再赋值(Reassigning)...原创 2009-02-19 23:22:05 · 127 阅读 · 0 评论 -
对象内转移特性(Moving Features Between Objects)
1.Move Method 有个函数与其所驻CLASS之外的另一个CLASS进行更多交流,调用后者,或被后者调用。 如果SOME CLASS 的 SUBCLASS和SUPERCLASS出现其他声明,无法进行搬移,除非TARGET CLASS也同样表现出多态性 将SOURCE METHOD使之成为一个DELEGATING METHOD 需要使用SOURCE CLASS特性,四种选择: 将这个...原创 2009-02-21 15:17:40 · 171 阅读 · 0 评论