在代码的中间层声明一个局部变量好吗?
Is it good to declare a local variable in the middle level of your code?
在阅读本书时 "clean code" 我遇到了以下说明:
"局部变量
应该在它们的第一次使用之上声明,并且应该有一个小的垂直范围。我们
不希望局部变量在距离它们的用法有数百行的地方声明。"
参见以下示例:
public class A {
public static void main(String[] args) {
String name = "Robert";
String country = "iiiii";
int age = 21;
String hobby = "Soccer";
System.out.println("my name is "+name+"I'm "+age+" and I'm from "+country);
/*
*
* a lot of code here
*
* */
System.out.println("my hobby is: " + hobby);
}
}
这里的变量 hobby 是它的用法中的一块石头,所以我想确定它是否像下面的代码那样编写是干净的?,因为我经常看到在函数顶层声明的局部变量:
/*the previous code here*/
String hobby = "Soccer";
System.out.println("my hobby is: " + hobby);
实际上建议在尽可能小的范围内声明变量。所以在你使用它的地方声明它。
它只会让你的代码有点混乱。
当我们谈论局部变量时,书上所说的一般规则是正确的。
关键是,如果将变量的声明和用法放在一起,代码往往更具可读性。如果它们相距很远,您可能会发现自己要向后扫描很多行才能找到声明。这会打扰你的注意力。
(现代 IDE 有巧妙的方法来向您显示变量的类型或转到它的声明。但是,如果您可以在同一 "page" 上看到声明和用法,这仍然会更容易。)
话虽如此,这在某种程度上是个人喜好问题。有些人喜欢"declare variables at the top",因为一些老派的编程语言不允许声明和其他语句穿插。
在阅读本书时 "clean code" 我遇到了以下说明:
"局部变量 应该在它们的第一次使用之上声明,并且应该有一个小的垂直范围。我们 不希望局部变量在距离它们的用法有数百行的地方声明。"
参见以下示例:
public class A {
public static void main(String[] args) {
String name = "Robert";
String country = "iiiii";
int age = 21;
String hobby = "Soccer";
System.out.println("my name is "+name+"I'm "+age+" and I'm from "+country);
/*
*
* a lot of code here
*
* */
System.out.println("my hobby is: " + hobby);
}
}
这里的变量 hobby 是它的用法中的一块石头,所以我想确定它是否像下面的代码那样编写是干净的?,因为我经常看到在函数顶层声明的局部变量:
/*the previous code here*/
String hobby = "Soccer";
System.out.println("my hobby is: " + hobby);
实际上建议在尽可能小的范围内声明变量。所以在你使用它的地方声明它。 它只会让你的代码有点混乱。
当我们谈论局部变量时,书上所说的一般规则是正确的。
关键是,如果将变量的声明和用法放在一起,代码往往更具可读性。如果它们相距很远,您可能会发现自己要向后扫描很多行才能找到声明。这会打扰你的注意力。
(现代 IDE 有巧妙的方法来向您显示变量的类型或转到它的声明。但是,如果您可以在同一 "page" 上看到声明和用法,这仍然会更容易。)
话虽如此,这在某种程度上是个人喜好问题。有些人喜欢"declare variables at the top",因为一些老派的编程语言不允许声明和其他语句穿插。