多次调用函数或创建变量

时间:2017-09-19 21:18:22

标签: java function variables

首先,我想创建场景并解释问题。例如,我有一个返回整数的函数:

int function(){  
    return 5;
}

我想打印这个函数返回的值几次。现在这部分提出了一个问题:

我应该每次都调用该函数

   System.out.print("My lucky number is " + function());
   System.out.print("When I was "+function()+" years old");
   .
   .
   .

或者我应该将返回值存储在变量中以使用它吗?

   int x = function();
   System.out.print("My lucky number is " + x);
   System.out.print("When I was "+x+" years old");
   .
   .
   .

2 个答案:

答案 0 :(得分:2)

  • 如果在调用function()时有副作用(例如,它打印出某些内容,增加变量等),则必须每次调用它。
  • 如果没有副作用,但调用起来很昂贵(例如,它进行了一些复杂的计算),那么将它存储在变量中可能是明智之举。
  • 否则,只是可读性/偏好问题。

答案 1 :(得分:1)

因此,两种变体都可以工作并且没问题,一般来说,最佳做法是将函数调用一次并将其存储在x中。这会降低运行时间并且更容易阅读。在这种情况下,它不会改变您的时间复杂度,但会使其更具可读性和可维护性。

长话短说,它实际上归结为可读性/可维护性和运行时。并且在这个特定情况下可读性。这里有很多资源,但这里有一个快速链接到

https://blog.goyello.com/2013/01/21/top-9-principles-clean-code/