在Java代码约定中,实例变量应该放在方法之前还是放在方法之后?

时间:2012-12-17 09:20:24

标签: java coding-style

在Java代码约定中,实例变量应该放在方法之前还是放在方法之后?我知道,在Oracle或Apache的代码约定中,他们建议应该在方法之前放置实例变量。但是,在Core Java一书中,作者将实例变量放在方法之后。嗯......也许是因为我的C ++背景,在我学习C ++的过程中,我了解到公共函数应该放在私有成员之前,因为人们更关心代码提供的功能。因此,我想知道哪种方式首选?如果你能用你的实际项目经验解释你的理由,那就更好了。

2 个答案:

答案 0 :(得分:6)

普通的Java约定是首先放置静态变量,然后是实例变量,然后是构造函数,然后是方法。

  

然而,在Core Java一书中,作者将实例变量放在方法之后。

您始终可以找到不符合常规惯例的人/书。

  

因此,我想知道哪种方式更受欢迎?

见上文。

  

如果你能用你的实际项目经验来解释你的理由,那就更好了。

没有理由,除了这是接受的正常的做法,并编写违反正常约定的代码以使其不易读取......对于遵循正常惯例的人。

有人可能已经对代码可读性进行了一些实证研究,其中他们测量了相对可读性。但是我从来没有费心去寻找它们。

答案 1 :(得分:1)

使用您正在处理的项目的样式。大多数编码约定都在那里,因此人们可以避免不断考虑小代码格式化问题(以及源代码控制以非建设性的方式踩到其他人的源代码)。因此,如果您在项目中工作,并且该项目已经使用了约定,请坚持使用它。

Oracle/Sun首先使用“属性”。 Android guidelines建议在开始时或在使用它们的方法之前。我倾向于将Oracle / Sun指南用于我自己的项目,因为JDK源始终只需单击一下即可。