2017-06-21 24 views
-4

JLS/JEPまたは他のOracle/Twitter/Google Javaコードスタイル規約で、クラス要素の宣言された位置を共有できますか。 ように:Javaコードスタイル:クラス内部の位置

class Example { 
    // public static final variables 
    // private static final variables 

    // static variables 

    // class variables 

    // constructors 

    // public methods 
    // protected methods 

    // inner classes 

    // nested classes 

    // static methods 

    // setter1 
    // getter1 
    //... 
    // setterN 
    // getterN 

} 
+2

https://google.github.io/styleguide/javaguide.html – Ishnark

+1

Googleはこの情報を見つけるための優れたツールを提供しています。 – bradimus

+0

ここで:https://google.github.io/styleguide/javaguide.html#s3.4.2-ordering-class-contents Googleは、クラスコンテンツの順序付けが強く宣言されていないと書いています。この答えですか? –

答えて

0

Googleドキュメントからの抜粋:https://google.github.io/styleguide/javaguide.html#s3-source-file-structure

ソース・ファイル構造

  • ライセンスや著作権情報、存在する場合
  • パッケージ声明
  • インポート文
  • 正確に1つの最上位クラス
  • 存在する各セクションは、1つの空白行で区切られます。

それぞれのトップレベルクラスは、独自のソースファイルに存在します。 クラスのメンバーとイニシャライザで選択した順序は、学習能力に大きな影響を与えます。しかし、それを行う方法のための単一の正しいレシピはありません。異なるクラスは異なる方法でそのコンテンツを注文することができる。

重要なことは、各クラスが何らかの論理的順序を使用していることです。たとえば、新しいメソッドは、習慣的にクラスの終わりに追加されるだけではなく、それは論理的な順序ではない「日付追加による年代順」の結果をもたらします。

クラスに複数のコンストラクタがある場合、または同じ名前のメソッドが複数ある場合、これらのクラスは順次に表示され、その間に他のコードはありません(プライベートメンバーでさえありません)。

オラクルのドキュメントから:メソッドは、スコープまたはアクセシビリティではなく、機能別にグループ化する必要があります。たとえば、プライベートクラスメソッドは、2つのパブリックインスタンスメソッドの間に置くことができます。目標はコードを読みやすく理解することです。