使变量成为局部变量而不是全局变量的好处
Benefits of making variables local as opposed to global
在我当前的程序中,我在开始时声明了一些变量,例如:
private static final double imageSize
这个变量没有改变,只在一个方法中使用,所以我的 IDE 告诉我把它变成一个局部变量。这样做有什么好处?我在测试时定期更改变量,所以可以将其保留在原处吗?
局部变量只有一个好处:当你编写这个可执行变量时,它只对这个局部代码(例如方法)有用。
当你有一个大项目和 100 个变量时,拥有局部变量非常有用。
但在你的情况下:最好将全局静态变量分配给程序中不会改变的东西。需要时,您将能够轻松找到此变量。例如,5 年后显示器将有 10 米,您将需要更改图像的大小。
另外回答 Jacek。您的变量看起来像常量。
根据常量变量的 Java code convention (final) 你应该使用大写:
private static final double IMAGE_SIZE
从逻辑上讲,让它在原处是可以的。此外,当您自己更改值时,将其保留在顶部会使其更具可读性。
IDE 建议将其保留在方法的本地,因为建议的做法是将变量的可见性和生命周期保持在尽可能小的范围内。通过将它保留在 class 级别,只要 class 被加载,你的变量就会存在,即使使用它的方法结束了它的执行。
在我当前的程序中,我在开始时声明了一些变量,例如:
private static final double imageSize
这个变量没有改变,只在一个方法中使用,所以我的 IDE 告诉我把它变成一个局部变量。这样做有什么好处?我在测试时定期更改变量,所以可以将其保留在原处吗?
局部变量只有一个好处:当你编写这个可执行变量时,它只对这个局部代码(例如方法)有用。 当你有一个大项目和 100 个变量时,拥有局部变量非常有用。 但在你的情况下:最好将全局静态变量分配给程序中不会改变的东西。需要时,您将能够轻松找到此变量。例如,5 年后显示器将有 10 米,您将需要更改图像的大小。
另外回答 Jacek。您的变量看起来像常量。 根据常量变量的 Java code convention (final) 你应该使用大写:
private static final double IMAGE_SIZE
从逻辑上讲,让它在原处是可以的。此外,当您自己更改值时,将其保留在顶部会使其更具可读性。
IDE 建议将其保留在方法的本地,因为建议的做法是将变量的可见性和生命周期保持在尽可能小的范围内。通过将它保留在 class 级别,只要 class 被加载,你的变量就会存在,即使使用它的方法结束了它的执行。