说明:所谓克隆代码,是指代码中类似或者干脆一样的部分。克隆代码往往是通过粘贴操作有意地重写同样的处理而产生的。 *X^__PS]
s=nE'/q1|
一般情况下,克隆代码是可维护性下降的一个重要原因。比如说,如果对同一处理进行了拷贝,那么当原来的代码发生问题,所有拷贝形成的部分都必须跟着进行修改。可是,如果不是原来那个人的话,其他人来做修改,难免遗漏应该修改的部分,从而造成代码的质量下降。 ].2it{gF?b
Px4zI9;cB
u?f3&pA
Gr;~P*
完全避免克隆代码确实比较困难,但是,作为程序员,完全应当时刻想着把类似处理抽取出来(参照下面的例子)。 (A*r&Ak[
V8xv@G{;
另外还应当充分利用后面补充说明中推荐的工具,对代码进行检查,看看有没有克隆代码,经常有意识地进行改善。 1% )M-io
'c<@SVF{Zz
例 有克隆代码存在 Void someMethod ( int arg1, int arg2) { xIo7f
… VrokEK*qbY
if (arg2 != 0) { //类似处理的候补 ;v6e2NacM'
p = arg1 / arg2; Eu
)7@
}else { XjwTjgL<
p = 0; `<>8tZS9"
} A{E0 a:v
… Y4Z?`TL
if (arg2 != 0) { //类似处理的候补 t747SZWgB
q = arg1 / arg2; GSW{h[Op
}else { ytmlG%
q = 0; 1*r{%6
} w
I@
lO\
… [21tT/
} G<