更改为void或保留返回值

时间:2012-11-11 13:43:45

标签: java refactoring void return-type

我正在重构/审查Java应用程序

当我这样做时,我表明某些方法有 返回ObjectStringBoolean等值,但是 返回值不在任何地方使用。只做了调用方法。

所以,我只是在徘徊,因为它会导致它们 应用程序的性能问题。

我应该将它们改为无效还是保持原样?

4 个答案:

答案 0 :(得分:4)

  • 此外,与表演相比,不合适的方法构建

  • 如果方法的返回值在程序中使用了 no ,则没有理由返回它,因此方法的返回类型应该是void

答案 1 :(得分:2)

我认为保持返回类型不会有性能损失。

话虽如此,我认为你仍然应该删除它们。原因是它们本质上是死代码。这些方法中可能存在未知的错误,这些错误围绕着返回类型 - 未知因为它们未被使用。如果有人决定有一天使用它们,这是一个潜在的危险。

此外,如果你保留它们会增加维护负担:每当有人接触到其中一种方法时,她就必须(不必要地)考虑返回类型。

这基本上归结为YAGNI。

答案 2 :(得分:1)

在我看来,API使用不当或设计不正确。

如果API设计正确,那么为什么API用户不使用方法返回类型?在这种情况下,用户必定是错误的。

另一方面,如果API设计不正确,那么在当前状态下使用它有什么意义呢?如果返回的信息是多余的,那么修复API并使方法无效。

我认为与良好的API设计相比,性能考虑因素并不重要。以后可以始终提高性能,但是更改API非常困难且成本高昂。

答案 3 :(得分:1)

如果未使用该值,则不应返回值。请改用void。有时我会看到一些未使用的 getters 但实际上它们被Web框架使用。很难确定该方法是否未使用。即使它被使用但返回值被忽略。不忽略返回值没有限制。