在代码的中间级别声明局部变量是否合适?

时间:2015-08-19 11:41:38

标签: java coding-style

阅读本书时#34;清洁代码"我遇到了以下指示:

"局部变量 应该在第一次使用之上声明,并且应该有一个小的垂直范围。我们 不希望局部变量声明数百行与它们的用法相距甚远。"

请参阅以下示例:

 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);

        }
    }

这里的变量爱好是它的用法,因此我想确定它是否像下面的代码那样干净,因为我经常看到在函数顶层声明的局部变量:

/*the previous code here*/
String hobby = "Soccer";
System.out.println("my hobby is: " + hobby);

2 个答案:

答案 0 :(得分:2)

实际上建议在尽可能少的范围内声明变量。所以在你使用它的地方声明它。 它只是让你的代码变得混乱。

答案 1 :(得分:1)

当我们谈论局部变量时,这本书所说的是正确的。

如果您将声明和变量的使用保持在一起,那么代码往往更具可读性。如果它们相隔很远,你可能会发现自己通过许多行向后扫描以找到声明。这会打破你的注意力。

(现代IDE有巧妙的方式向您展示变量的类型,或者转到它的声明。但是,如果你能在同一个"页面上看到声明和用法,它仍然更容易。 #34;。)

话虽如此,这在某种程度上是个人偏好的问题。有些人喜欢在顶部声明变量",因为一些老派编程语言不允许声明和其他语句穿插。