GoogleのJavaコーディング規約
Googleは、最近、Javaコーディング規約の完全な定義を公開した。 この規約は強制力を持つ厳格なルールであり、Google全体で従うべきものだ。単なるフォーマットだけでなく、他の約束事やコーディング規約についても書かれている。
このドキュメントは、6つの主要な部分からなる。ソースファイル基礎、ソースファイル構成、フォーマット、ネーミング、プログラミングプラクティス、そして、Javadocだ。ソースファイル基礎は、ファイル名、ファイルエンコーディング、空白文字、特殊文字について、また、ソースファイル構成は、ライセンス情報、パッケージやインポート文、そして、クラスメソッドの順序付けについて書かれている。フォーマットは、大括弧やインデント、行の折り返し、空白、丸括弧、enum、配列、switch文、アノテーション、コメント、モディファイヤについて説明する。ネーミングは、パッケージ、クラス、メソッド、コンスタント、フィールド、ローカル変数、型変数などの識別子について説明し、キャメルケースを定義している。プログラミングプラクティスは、@Override、例外、スタティックメンバ、ファイナライザに関する章であり、Javadocは、Javadocの書式設定方法やどのような場面で必要かについて書かれている。
ガイドに含まれているいくつかの項目をここで紹介する。
- ワイルドカードを使ったインポートは使わない。
- オーバーロードは連続して現れる。
- ボディが空や1行であっても、大括弧を使う。
- インデントはスペース2つにする。
- カラム制限は80か100文字。
- C形式の配列宣言は使わない。
- スイッチ文ではデフォルト文が必要。
- Java言語仕様で推奨された順番で識別子が現れる。
- コンスタントはCONSTANT_CASEを使う。コンスタントはすべてスタティックファイナルフィールドだが、すべてのスタティックファイナルフィールドがコンスタントの訳ではない。
さらに詳細を知りたい場合は、Google Javaスタイルを読もう。Oracleの公式なJavaプログラミング言語のコード規約がある。Googleには、C++やObjective-C、Python、Shell、HTML/CSS、JavaScript、Lispのような他の言語のスタイルガイドもある。
特集コンテンツ一覧
BackboneとAngularを比較する
Victor Savkin 2013年12月23日 午後8時23分
Microsoftの技術の活用方法
Jonathan Allen 2013年12月1日 午後7時43分
アジャイル時代のモデリング: アジャイルチーム拡大のためにはコードの次に何を保つべきなのか
Kenji Hiranabe 2013年11月19日 午後6時56分
Java 8を可能にしたJava 7の機能
Ben Evans 2013年11月12日 午後8時25分
かんばんはただの常識か?
Karl Scotland 2013年11月10日 午後7時32分
JavaOne 2013 総まとめ: Java 8の衝撃,Java・イズ・バック!
Matt Raible 2013年11月7日 午後10時34分
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。