Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实例变量声明的放置_Java_Variables_Coding Style - Fatal编程技术网

Java 实例变量声明的放置

Java 实例变量声明的放置,java,variables,coding-style,Java,Variables,Coding Style,我看到一些开发人员将实例变量声明放在类的末尾,尽管我看到它们大多放在顶部。我认为这样做的唯一原因是风格偏好,或者可能是它使它们更容易在IDE中使用。选择这种风格有更合理的理由吗?这主要是(如果不是全部的话)个人偏好。我喜欢他们在顶端,但我真的无法给出比我习惯的方式更好的理由。没有特别“好”的理由这样或那样做。唯一真正重要的是,同一项目中的每个人都以同样的方式进行 然而,在我的经验中,把它们放在最上面要常见得多,这是推荐的做法,所以我会这么做 您可以使用自动源代码格式化程序(如Eclipse)或E

我看到一些开发人员将实例变量声明放在类的末尾,尽管我看到它们大多放在顶部。我认为这样做的唯一原因是风格偏好,或者可能是它使它们更容易在IDE中使用。选择这种风格有更合理的理由吗?

这主要是(如果不是全部的话)个人偏好。我喜欢他们在顶端,但我真的无法给出比我习惯的方式更好的理由。

没有特别“好”的理由这样或那样做。唯一真正重要的是,同一项目中的每个人都以同样的方式进行

然而,在我的经验中,把它们放在最上面要常见得多,这是推荐的做法,所以我会这么做


您可以使用自动源代码格式化程序(如Eclipse)或Eclipse附带的自动源代码格式化程序来强制执行您选择的约定。

因为“程序是“接口”,而不是“实现”。(Gang of Four 1995:18)(),有些人更喜欢在类的底部声明实例变量。理论上,类的用户更感兴趣的是他们可以用类(方法)做什么,而不是如何做一些事情(变量)。当用户查看代码时,将方法放在类的顶部会首先向用户公开它们。

大多数实例变量都是私有的,因此我倾向于将它们放在底部,因为我声明成员是为了降低可见性。如果我按照增加可见性的顺序宣布它们,它们将位于顶部,这也是合理的


我不喜欢的是让私有字段后跟公共字段后跟私有方法。如果我正在开发一个客户机类,我希望所有的公共部分都在一起(因为这就是我感兴趣的部分)。

我一直认为,如果您有一个私有类级别的变量,那么您要么硬编码了一个配置,要么以某种方式跟踪状态。如果您正在跟踪状态,那么1)从打开文件的那一刻起,所有准备在文件中编写代码的人都应该清楚地看到这一点;2)跟踪大量状态是一种巨大的代码气味,如果我的开发人员正在这样做,那么我希望这一点是显而易见的。因此,imho把它放在最上面,会让糟糕的代码变得更加明显,并对未来编辑该类的人起到警告作用


但是,一定要将公共/受保护与私有字段和成员分开,因为对其中一个感兴趣的人可能对另一个不感兴趣。

一个类的用户不应该首先查看源代码内部(应该记录使用情况,并且无需查看源代码即可访问)。有人应该查看源代码的唯一原因是理解内部工作原理,这就是为什么我不建议将私有字段放在底部的原因。