1

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

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

所以,我只是徘徊保持它们原样会导致应用程序的性能问题。

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

4

4 回答 4

4
  • 更何况是一个性能打击,它是一种不恰当的方法构造

  • 如果方法的返回值在程序中没有用,那么就没有理由返回它,所以方法的返回类型应该是void.

于 2012-11-11T13:47:36.813 回答
2

我认为保持返回类型不变会降低性能。

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

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

这基本上归结为 YAGNI。

于 2012-11-11T13:49:13.313 回答
1

在我看来,要么 API 使用不正确,要么设计不正确。

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

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

我认为与良好的 API 设计相比,性能方面的考虑并不重要。性能总是可以在以后改进,但 API 的更改非常困难且成本高昂。

于 2012-11-11T13:52:22.777 回答
1

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

于 2012-11-11T14:02:18.603 回答