更改为void或保留返回值

问题描述 投票:0回答:4

我正在对 Java 应用程序进行重构/审查。

当我这样做时,我表明某些方法已经 返回值,如

Object
String
Boolean
等,但是 返回值不在任何地方使用。只做了方法调用。

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

我应该将它们更改为

void
还是保持原样?

java methods refactoring void return-type
4个回答
4
投票
  • 不仅是一场表演,它还造成了不恰当的方法构建

  • 如果方法的返回值在程序中没有使用,那么就没有理由返回它,因此方法的返回类型应该设为

    void


2
投票

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

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

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

这本质上可以归结为 YAGNI。


1
投票

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

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

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

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


1
投票

如果未使用值,则不应返回值。请改用

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

© www.soinside.com 2019 - 2024. All rights reserved.