Skip to content

Latest commit

 

History

History
205 lines (147 loc) · 4.34 KB

java.ja.md

File metadata and controls

205 lines (147 loc) · 4.34 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]**リソースのファイル名はスネークケースにすること。