0
我有一个简单的方法,我已经应用了两个重构模式 - 内联temp和提取方法,然后用Query替换Temp。我想知道哪种模式更适合用于我们的方法。所以,这是原始的方法:在java中比较重构模式
public int mymethod(int a, int b) {
int t = a * b;
if (t > 100) {
return t * 0.65;
} else {
return t * 0.45;
}
}
这是内嵌温度重构的方法:
public int mymethod(int a, int b) {
if (a*b > 100)
{
return (a*b * 0.65);
}
else
{
return (a*b * 0.45);
}
}
最后提取方法,接着是查询重构:
public int mymethod(int a, int b) {
if (t() > 100) {
return t() * 0.65;
}
else {
return t() * 0.45;
}
}
int t() {
return a * b;
}
你认为哪一个更适合我们的方法?就我个人而言,我认为内联temp对于这种方法来说更好,因为Extract方法有一个新的方法,程序被迫查询那个影响性能的额外方法。我对吗 ?
如何修复编译错误? –
编译器可能会将第一个版本优化为第二个版本。至于第三个版本,如果你需要在很多地方计算这个产品,从代码的角度来看可能是有用的。 –
在大多数情况下,可读性比最佳速度更重要 –