【问题标题】:Java: place of constructors, static methods, public methods, private? [duplicate]Java:构造函数的位置,静态方法,公共方法,私有? [复制]
【发布时间】:2015-07-19 01:44:22
【问题描述】:

我提出了一个问题:放置方法的最首选方式是什么?我的意思是,应该首先声明静态方法,然后是构造函数,然后是公共方法,然后是受保护的,然后是私有的,等等?是否有某种约定,就像我猜每个人都将字段(实例变量)放在代码之上。关于方法是否有相同的政策?

我想这取决于您使用的语言。 Java 呢?

【问题讨论】:

  • Java 中的顺序无关紧要,只要它们存在即可。
  • 保持一致。如果您遵循某些约定,请询问您的团队的其他成员。如果没有,或者如果您自己编写代码,请选择您选择的约定(例如 Oracle 的官方 Java 代码约定)并坚持下去。

标签: java policy convention


【解决方案1】:

这有点基于意见,但 Google Java Style 文档说得很好:

类成员的排序可以对学习能力产生很大的影响,但是没有一个正确的方法可以做到这一点。不同的类可能对它们的成员进行不同的排序。

重要的是每个类都以某种逻辑顺序对其成员进行排序,如果被问到,它的维护者可以解释。例如,新方法不只是习惯性地添加到类的末尾,因为这会产生“按添加日期的时间顺序”排序,这不是逻辑排序。

https://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s3.4.2-class-member-ordering

我在开源世界看到的大部分代码都使用了一些变体

  • 静态字段
  • 实例字段
  • 构造函数
  • 方法(实例和静态)
  • 匿名类

【讨论】:

    【解决方案2】:

    这取决于团队偏好,但关注convention 总是好的

    【讨论】:

      【解决方案3】:

      说到执行,JVM保证我们不能改变的顺序。管理。

      但从代码可读性的角度来看,YES 排序看起来不错。遵循编码标准是应该做的。

      静态字段 -> 实例字段/变量

      我们知道,Static Block 总是在类加载后被调用,所以我们应该拥有它。

      那么constructors,对于对象的创建,最后写构造函数也没意义。

      如上所述,here 也值得一读。

      【讨论】:

      • 是的,我只是在谈论可读性。声明的位置对于变量和方法无关紧要,因为 Java 在类声明中没有“前向引用”问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 2012-02-04
      相关资源
      最近更新 更多