TOP設計・移行・活用> インデントに関する規約




Javaコーディング規約
Javaコーディング規約

第5回:フォーマットに関するコーディング規約
著者: 電通国際情報サービス  高安 厚思、東田 健宏
インクステクニカルサービス  桐山 邦彦   2005/10/6
前のページ  1  2  3   4  次のページ
インデントに関する規約

   インデントにタブを使っていると、エディタの設定によって見た目が異なり、可読性が落ちる場合がありますので、タブのかわりに空白文字を使うとよいでしょう。この場合の空白文字の個数ですが、4文字にすると見やすくなります。
  • タブを利用せず、空白文字を利用する(C_FMT001)
  • インデントは空白文字4文字分(C_FMT002)

表3:インデントに関するコーディング規約

   なお、インデントのたびに空白文字を入力するのが面倒な場合は、エディタや開発ツールの置換機能を使って、最後に空白文字に置き換えるとよいと思います。


改行に関する規約

   自分のモニタ上では問題なく表示されていても、他のマシンで見たときや印刷したときにに思わぬことになっている場合があります。このようなことを未然に防ぐためにもある程度で改行をすることが必要です。


長すぎる行は避ける(C_FMT003)

   1行は原則として80文字程度までにしてください。モニタ上で見づらいだけでなく、メール送信や印刷の際に見づらくなったり、フォーマットがくずれてしまったりします。

   1行の記述が80文字を超えてしまった場合は、80文字前後の区切りがよい箇所で改行するようにします。いくつか例を示します。

カンマのあとで改行する
public void fixedMethod( boolean booleanValue
                        String stringValue,
                        int intValue){
}
優先度の低い演算子の前で改行する
double length = Math.sqrt(Math.random()
                         + Math.pow(Math.random(), 2.0));
変数に代入するなどして、複数行に処理を分割する
double xSquared = Math.pow(Math.random(), 2.0);
double length = Math.sqrt(Math.random() + xSquared);
ステートメントを記述(C_FMT004、C_FMT005)

   "{"の後にステートメントを記述したり、あるいは1行に2つ以上のステートメントを記述すると、可読性の低下を招きます。どんなに短いステートメントでも必ず改行するようにしてください。


空白文字に関する規約

   これら規約の空白文字については軽視されがちですが、プロジェクトで統一することにより、ソースコードの可読性を向上させることができます。これらに関しては特に規約を設けていないプロジェクトが多いと思いますが、これら規約をプロジェクトとして統一し、可読性の高いソースコードの実装につなげてください。

  • カンマの後には空白文字を(C_FMT006)
  • 代入演算子("="、"+="、"-="、…)の前後には空白文字を(C_FMT007)
  • for 文内のセミコロンの後には空白文字を(C_FMT008)
  • "++"や"--"とオペランドの間には空白文字を入れない(C_FMT009)
  • ビット演算子("|"、"&"、"^"、"<<"、">>")の前後には空白文字を(C_FMT010)
  • 論理演算子("||"、"&&")の前後には空白文字を(C_FMT011)
  • 関係演算子("<"、">"、">="、"<="、"=="、"!=")の前後には空白文字を(C_FMT012)
  • 算術演算子("+"、"−"、"*"、"/"、"%")の前後には空白文字を(C_FMT016)

表4:空白文字に関する規約

前のページ  1  2  3   4  次のページ


株式会社電通国際情報サービス 開発技術センター 高安 厚思
著者プロフィール
株式会社電通国際情報サービス  高安 厚思
株式会社電通国際情報サービス 開発技術センター
Java(J2EE)/オブジェクト指向の研究開発やプロジェクト支援、開発コンサルティングに従事。モデル、アーキテクチャ、プロセスが探求対象。今回は Javaコーディング規約2004の仕掛け人。


株式会社電通国際情報サービス 開発技術センター 東田 健宏
著者プロフィール
株式会社電通国際情報サービス  東田 健宏
株式会社電通国際情報サービス 開発技術センター
CTI、Webアプリの開発経験を経て、現在は主にプロジェクトマネジメント支援、プロセスエンジニアリング、ソフトウェア工学研究開発に従事。最近はコーチング、ファシリテーションといったヒューマン系スキルに興味を持ち日々修得に努めている。


インクステクニカルサービス株式会社 桐山 邦彦
著者プロフィール
インクステクニカルサービス株式会社  桐山 邦彦
インクステクニカルサービス株式会社 システム開発部所属
J2EEのリリース時から今日まで、主にWebアプリの開発に従事。他人から引き継いだコードのメンテナンス作業も多く、その保守性の低さをたびたび経験し、オブジェクト指向設計に強い関心を抱くようになる。


INDEX
第5回:フォーマットに関するコーディング規約
  はじめに
  推奨されないAPIを使用しない(C_GNR001)
インデントに関する規約
  その他のフォーマットに関する規約