Skip to content

Latest commit

 

History

History
205 lines (147 loc) · 4.35 KB

java.ja.md

File metadata and controls

205 lines (147 loc) · 4.35 KB

目次

Java コーディング規約

はじめに

本文書は、クックパッド株式会社での Java コードのスタイル規準を定めるものである。

基本はOracleのスタイルを採用する。Code Conventions for the Java TM Programming Language 次いでGoogleのガイドラインも参照する。 Code Style Guidelines for Contributors

基本的には見やすさ、美しさ、を重視するが、パフォーマンスに影響がある場合はその限りではない。

Java 全般のルール

インポート

  • [MUST] 不要なimport文は削除すること。
  • [MUST] 可能な限り * での import 文は書かないこと。

インデント

  • [MUST] ブロックのインデントにはスペース4つを使うこと。
  • [MUST] 関数呼び出しと引数を含んだ行の折り返しは、スペース8つでインデントすること。
// good
Instrument i
        = someLongExpression(that, wouldNotFit, on, one, line);

// bad
Instrument i
    = someLongExpression(that, wouldNotFit, on, one, line);

空白

  • [MUST] 行末に空白を置いてはならない。
  • [MUST] カンマ、セミコロン、キャスト演算子の直後には空白を置くこと。

空行

  • [MUST] ファイルの末尾に空行を置いてはならない。

改行

  • [MUST] ファイルの末尾は空白を置いてはならない。
  • [MUST] 行の途中で改行するときには演算子の直前で改行すること。

中括弧

  • [MUST] 直前にトークンがある場合は中括弧で行を始めてならない。中括弧はそのトークンと同じ行に置くようにすること。
// good
class MyClass {
    int func() {
        if (something) {
            // ...
        } else if (somethingElse) {
            // ...
        } else {
            // ...
        }
    }
}

// bad
class MyClass
{
    int func()
    {
        if (something)
        {
            // ...
        }
        else if (somethingElse)
        {
            // ...
        }
        else
        {
            // ...
        }
    }
}
  • [MUST] 条件文には中括弧を付けること。
// good
if (condition) {
    body();
}

// bad
if (condition)
    body();

名前における頭字語 (アクロニム)

  • [MUST] 頭字語や略語は単語として扱うこと。
// good
XmlHttpRequest
getCustomerId

// bad
XMLHTTPRequest
getCustomerID

TODOのスタイル

  • [MUST] TODOにはすべて大文字のTODOにコロンを続けたものにすること。
// TODO: Remove this code after the UrlTable2 has been checked in.
// TODO: Change this to use a flag instead of a constant.

配列

  • [MUST] 配列のブラケットは型のすぐ後ろに書かなければならない。
// good
int[] array = new int[10];
int[][] array = new int[10][10];

// bad
int array[] = new int[10];
int array[][] = new int[10][10];
int[] array[] = new int[10][10];

Androidのルール

フィールド名

  • [MUST] フィールドにプレフィックスは付けないものとする。
// good
public class MyClass {
    private static MyClass singleton;
    int packagePrivate;
    private int private;
    protected int protected;
}


// bad
public class MyClass {
    private static MyClass sSingleton;
    int mPackagePrivate;
    private int mPrivate;
    protected int mProtected;
}

リソース

  • [MUST] リソースのファイル名はスネークケースにすること。