所有重构参数化了吗?

时间:2009-09-24 11:28:07

标签: refactoring parameterized

问题在于重构。考虑重命名方法重构。可以将此重构可视化为采用旧名称和新名称的元方法,并将旧方法名称更改为新名称。所以,重构

FOO() { ......... ......... }

BOO() { ......... ......... }

重构的元方法将是......

renameMethod(foo,boo)

这称为参数化重构。我的问题是http://www.refactoring.com/catalog/中提到的所有重构都可以被认为是有一些参数,还是有重构不需要这些参数?

1 个答案:

答案 0 :(得分:2)

有一些“代码清理”不需要参数。无论你是否称他们为重构,我都不知道,但是:

if (condition) {
    return firstValue;
} else {
    return secondValue;
}

为:

return condition ? firstValue : secondValue;

甚至更多:

if (condition) {
    return true;
} else {
    return false;
}

为:

return condition;

但即使在“正确的”重构目录中,也有一些不需要参数。例如,hide method重构只是将方法设为私有,"reduce scope of variable"只是移动声明。