为什么要创建只调用其他方法的方法?

时间:2017-10-18 16:30:16

标签: java

我正在查看别人写的代码。我不明白为什么有方法只调用另一种方法。我有一个大约100种方法的课程,其中大多数看起来像是这样的东西:

public void parallel(String str){
    //some code
}
public void prl(String str){
    parallel(str);
}
public void p(String str){
    parallel(str);
}
public void hidden(String str){
    //some code
}
public void hid(String str){
    hidden(str);
}
public void h(String str){
    hidden(str);
}
.
....

为什么somone会这样做?我想删除除了那些有代码的那些以外的所有内容。

1 个答案:

答案 0 :(得分:1)

我想在这种情况下不可能说出真正的原因是什么,但这种事情在Java编程中很常见。一个典型的原因是软件维护者想要改变方法命名约定,以使类或包之间的名称保持一致;这里的希望是它会使类的使用更容易记住。但是很难摆脱旧方法,因为其他代码可能仍然依赖于它们。这就是为什么我们仍然有例如Java AWT,Container.insets()Container.getInsets(),它们完全相同。在某些时候,有人认为只返回数据的方法应该有以get开头的名称,因此引入了一堆新的重复方法,大多数(全部?)旧的方法仍然存在。

JVM运行时库中有大量类,这些类具有名为xxxHtmlyyyxxxHTMLyyy等名称的方法,它们完全相同。有关如何更改包含缩写的方法名称的约定,但必须保留旧方法,因为许多现有代码仍然使用它们。

在一个理想的世界里,我们可能不必处理这类事情,但真正的软件管理是许多不同需求之间的妥协。

相关问题