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

有帮助吗?

解决方案

由于“程序到'接口',而不是'实现'。” (Gang of Four 1995:18)( http://en.wikipedia.org/wiki/ Design_Patterns#Introduction.2C_Chapter_1 ),有些人更喜欢在类的底部声明实例变量。理论是一个类的用户更感兴趣的是他们可以用类(方法)做什么,而不是做某事(变量)。将方法放在类的顶部会在查看代码时首先将它们暴露给用户。

其他提示

没有特别“好”的这样或那样做的原因。唯一真正重要的是同一个项目中的每个人都以同样的方式做到这一点。

然而,根据我的经验,将它们放在顶部更为常见,并且是 Java风格指南,这就是我的目标。

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

这主要是(如果不是全部)个人偏好。我喜欢他们在顶部,但我真的不能给它一个更好的理由然后这就是我习惯的方式。

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

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

我总是理性化,如果你有一个私有类级变量,那么你要么硬编码一个配置,要么就是以这种或那种方式跟踪状态。如果你正在跟踪状态,那么1)对于那些从打开文件的那一刻开始在文件中编写代码的人来说应该是显而易见的,并且2)跟踪许多状态是一个巨大的代码味道,如果我的开发人员正在这样做,然后我希望它是显而易见的。所以把它放在顶部,imho,使得错误的代码更加明显,并且作为对编辑课程的未来人员的警告。

但是,你的公共/受保护与私人领域和成员肯定是分开的,因为对一个人感兴趣的人可能对另一个人不感兴趣。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top