From 40d098e24ac754c6ab5aadc065e9d35a7d717399 Mon Sep 17 00:00:00 2001 From: heidsoft Date: Sun, 19 Jul 2015 14:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E9=87=8D=E6=9E=84=E6=89=8B?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\351\207\215\346\236\204-Extract Class.png" | Bin 0 -> 10468 bytes "\351\207\215\346\236\204-Extract Method.png" | Bin 0 -> 13997 bytes ...\207\215\346\236\204-Extract Subclass.png" | Bin 0 -> 9910 bytes ...\215\346\236\204-Form Template Method.png" | Bin 0 -> 20930 bytes ...46\236\204-Introduce Parameter Object.png" | Bin 0 -> 8552 bytes ...215\346\236\204-Preserve Whole Object.png" | Bin 0 -> 7509 bytes "\351\207\215\346\236\204-Pull Up Method.png" | Bin 0 -> 8608 bytes ...\204-Replace Method with Method Objec.png" | Bin 0 -> 9582 bytes ...236\204-Replace Parameter with Method.png" | Bin 0 -> 8377 bytes ...5\346\236\204-Replace Temp with Query.png" | Bin 0 -> 12711 bytes ...\215\346\236\204-Substitute Algorithm.png" | Bin 0 -> 17813 bytes "\351\207\215\346\236\204.md" | 63 ++++++++++++++++++ 12 files changed, 63 insertions(+) create mode 100644 "\351\207\215\346\236\204-Extract Class.png" create mode 100644 "\351\207\215\346\236\204-Extract Method.png" create mode 100644 "\351\207\215\346\236\204-Extract Subclass.png" create mode 100644 "\351\207\215\346\236\204-Form Template Method.png" create mode 100644 "\351\207\215\346\236\204-Introduce Parameter Object.png" create mode 100644 "\351\207\215\346\236\204-Preserve Whole Object.png" create mode 100644 "\351\207\215\346\236\204-Pull Up Method.png" create mode 100644 "\351\207\215\346\236\204-Replace Method with Method Objec.png" create mode 100644 "\351\207\215\346\236\204-Replace Parameter with Method.png" create mode 100644 "\351\207\215\346\236\204-Replace Temp with Query.png" create mode 100644 "\351\207\215\346\236\204-Substitute Algorithm.png" diff --git "a/\351\207\215\346\236\204-Extract Class.png" "b/\351\207\215\346\236\204-Extract Class.png" new file mode 100644 index 0000000000000000000000000000000000000000..1d0f7ff431b9a775374ddb5e9794974cc317f7a9 GIT binary patch literal 10468 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 AG5`Po literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Extract Method.png" "b/\351\207\215\346\236\204-Extract Method.png" new file mode 100644 index 0000000000000000000000000000000000000000..7c3218a05357e46d287bf6afcb42cb7112c67ae2 GIT binary patch literal 13997 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 blYQS;Yb+kj;{kqc270Ebp-}$h<=g)Og>HlZ literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Extract Subclass.png" "b/\351\207\215\346\236\204-Extract Subclass.png" new file mode 100644 index 0000000000000000000000000000000000000000..363e2724e9a42128972fe323faa9d151e996216d GIT binary patch literal 9910 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 mR@pGNGu{8jQJY~>dFxS literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Introduce Parameter Object.png" "b/\351\207\215\346\236\204-Introduce Parameter Object.png" new file mode 100644 index 0000000000000000000000000000000000000000..bb0e6e856969b8ae43a38c5d8ba0c161c76fa328 GIT binary patch literal 8552 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 JnKV4`{{d}TLx literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Preserve Whole Object.png" "b/\351\207\215\346\236\204-Preserve Whole Object.png" new file mode 100644 index 0000000000000000000000000000000000000000..912fcba5c3b1869d8dfdf808aacfd7d73419be47 GIT binary patch literal 7509 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 literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Pull Up Method.png" "b/\351\207\215\346\236\204-Pull Up Method.png" new file mode 100644 index 0000000000000000000000000000000000000000..b56b003931c4e3f710e3989fd344fcbafc008d7b GIT binary patch literal 8608 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 MK|{V=_D#rt0D>5B(EtDd literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Replace Parameter with Method.png" "b/\351\207\215\346\236\204-Replace Parameter with Method.png" new file mode 100644 index 0000000000000000000000000000000000000000..30de7d4f85a431e44c2734df664eec6bbbc97c64 GIT binary patch literal 8377 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 literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204-Replace Temp with Query.png" "b/\351\207\215\346\236\204-Replace Temp with Query.png" new file mode 100644 index 0000000000000000000000000000000000000000..caa286244e99492f3b0b5d5d1963f8267fefa159 GIT binary patch literal 12711 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 literal 0 HcmV?d00001 diff --git "a/\351\207\215\346\236\204.md" "b/\351\207\215\346\236\204.md" index 241280c..202bdba 100644 --- "a/\351\207\215\346\236\204.md" +++ "b/\351\207\215\346\236\204.md" @@ -1,4 +1,8 @@ #重构 +- 重构改变了开发程序 +- 重构改变了修改程序 +- 重构改变了数据库维护 +- http://www.refactoring.com/catalog/extractMethod.html ======== * 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构 * 消除重复代码,可以确定所有事务和行为在代码中只表述一次,【这正是优秀设计的根本】 @@ -9,3 +13,62 @@ 第一次:只管去做 第二次:做类似的事情产生反感 第三次:在做类似事,就应该重构 +* 计算机科学是这样一门科学:它相信所有问题都可以通过增加一个间接层来解决 +* 修改旧函数时,应该保留旧函数,让旧函数调用新函数,并将旧函数标记为@deprecated【表示反对】 +* 如果在所有可能变化出现的地点都建立起灵活性,整个系统的复杂度和维护度都会大大提高 +* 重构可以带来更简单的设计,同时又不损失灵活性,这也降低了设计过程的难度,减轻了设计压力。 +* 语义保护性重构 + +- 培养重构的判断力 +* 判断一个类内部有多少实例变量算是太大 +* 一个函数内有多少行代码才算太长 +* Duplicated Code 【重复代码】 +* Long Method 【过长函数】 +* Large Class 【过大的类】 +* Long Parameter List【过长参数】 +* Diverent Change 【发散式变化:一个类受多种变化的影响】 +* Shotgun Surgery 【散弹式修改:一种变化引发多个类相应修改】 +* Feature Envy 【依恋情结】 +* Data Clumps 【数据泥团】 +* Primitive Obsession 【基本类型偏执】 + + + 如果在一个以上的地点看到相同的程序结构,那么可以肯定,设法将它们合而为一 + +* 小函数的利益 +- 解释能力 +- 共享能力 +- 选择能力 + + + + + + + + + + + + + + +#受控异常 VS 非受控异常 +``` +控异常:Checked Exception,这类异常必须写try{}catch{},或者throw抛出,否则编译通不过。 + +非受控异常:Unchecked Exception,这类异常也叫做运行时异常(与非受控异常 字数相等), + 这类异常不需要try{}catch{},也不需要throw抛出,编译能通过。 + 为什么要使用非受控异常?为了简化代码。 + 试想一下,如果所有可能出现异常的地方(比如访问数组元素可能会越界、 + 调用对象方法,对象可能为null),我们都写try{}catch{},或者throw 抛出, + 那么代码肯定冗余的不成样子了。也就是说, + 采用非受控异常(运行时异常)可以减少代码的污染。 + +对于受控异常,因为必须要写try{}catch{},或者throw抛出,没什么可讲的。 + +对于非受控异常(运行时异常),因为不需要额外处理, +也能编译通过,我们可以进行预先检查, +比如访问数组元素时,我们预先检查是否越界, +调用对象方法时,预先检查对象是否为null +``` \ No newline at end of file