コーディング規約の概要とJavaの例
コーディング規約には、言語ごとにさまざまな種類があります。Javaの場合、どのような規約があるのでしょうか? よく利用されているものを紹介します。
変数名の付け方などルール提示
一つのシステムを作るとき、多くの場合に、複数のエンジニアが役割分担してプロジェクトに携わります。そのとき大切なのが、全体が同じルールで書かれていることです。
コードは何通りもの書き方があり、エンジニアによって違うことがあります。そのため、何もルールがない状態だと、それぞれのクセが出て読みにくい仕上がりになる可能性があるのです。
コーディング規約では、書き方にクセが出やすい項目について、あらかじめルールを決めます。例えば、変数や関数に名前をつけるときのつけ方や、コメントのつけ方・禁止事項についてです。
ルールがあることで、複数のエンジニアが担当した場合でも、システム全体を通して書き方が統一されます。
Google Java Style Guide
『Java』はGoogleが開発に使っている言語のうち、『C++』『Python』と並びGoogle三大言語と呼ばれています。そのため、Googleでは、Javaを使用する際のルールを『Google Java Style Guide』として定めているのです。
Googleで開発を行うときはもちろん、他社でもこの規約に準拠しているプロジェクトがたくさんあります。そのため、まず知っておきたい規約といえるでしょう。
この規約に特徴的なルールは下記の通りです。
- 1行は100文字以内
- 水平位置はそろえずそのまま
- 接尾辞や接頭辞を命名に使わない
- 行頭の空白はスペース二つ分
- スイッチ文のときはデフォルト文が必要
分かりにくさをできるだけなくし、あとから読みやすいことを重視しています。
電通国際情報サービス Javaコーディング規約2004
『電通国際情報際サービス Javaコーディング規約2004』は、ITで問題解決を行う専門家集団である株式会社電通国際情報サービスが作った規約です。
変数やメソッドへの命名についても定めた、読みやすいコードを作るためのルールといえます。他にも下記のような内容を定めているのが特徴です。
- サンプルコードを使うときには内容をよく理解した上で利用する
- 同じコードが出てくる場合は、外に出して呼び出す
- メソッドの役割は一つに限定し試験をしやすくする
オブジェクト倶楽部 Javaコーディング標準
メンテナンスしやすいコードを書くために作られたのが『オブジェクト倶楽部 Javaコーディング標準』です。
ファイル構成・命名規則・コーディングスタイル・コメント・パフォーマンスなどの項目について定めた規約は、プロジェクトに携わる全てのエンジニアが合意し、準拠することで、目的を達成できます。
複雑さや見慣れないコードを排除し、シンプルで読みやすいコードを良質なコードとする規約です。
コーディングで考慮すべきポイント
コードを書き始める前に、まず押さえておくべきポイントがあります。あらかじめポイントをチェックしておき、スムーズに分かりやすくコードを書けるようにしましょう。
優先すべきコーディング規約を考えよう
Javaの代表的なものだけでも、先に紹介したように複数の規約があります。プロジェクトに参加したときには、複数の規約のうちどれに準拠すればよいかを必ず確認しましょう。
例えば、WordPressのようなシステムを使って開発をする場合、言語の規約の他にシステム側でも規約を作っていることがあります。
両者に相反するルールが定められている場合、システムの規約を優先するのが適切といえるでしょう。
また、プロジェクトで独自に規約を定めている場合、その規約を準拠します。
読み手の負担を減らす大切さ
コードを書くときには、読み手の負担を減らすことを前提に、コーディング規約にのっとって作成しましょう。そうすることで、メンテナンスや新バージョンを作成するエンジニアの手間を減らせます。
読み手の負担を減らすためには、複雑なコードを避けることが必要です。
- アクセス修飾子は『private』で範囲を限定する
- 変数のスコープを最小限にする
- 変数やメソッドのネーミングでは単語を極力そのまま使う
- 変数はなるべく少なくする
- 変数が変更されないstaticメソッドを効果的に使う
以上のようなコード作成の具体例を参考に、コーディング規約に準拠して、読み手の負担が最小限のコードを書きましょう。
規約に沿っているかチェックしよう
コードを書いたら、必ず規約通りになっているかチェックしましょう。しかし、目視でのチェックでは抜け漏れが発生する可能性があります。そこで活用したいのが、プラグインやチェックツールです。
プラグインを利用する
統合開発環境『Eclipse』や『IntelliJ』では、規約違反をリストアップする『プラグイン』を導入することで、コードのチェックをスピーディーに確実に実行できます。独自の規約を用いている場合にも、設定が可能です。
プラグインを導入するには、まずダウンロードしてインストールします。その後、適用するコーディング規約を選びましょう。選んだ規約を適用すると、コード中の誤りを指摘してくれます。
タスクウィンドウに表示された該当箇所をダブルクリックすれば、そのままエディタへ飛んで修正が可能です。
チェックツールを利用する
『静的解析ツール』と呼ばれるコードのチェックツールも、規約に準拠できているか確認するのに役立ちます。
コード表記の誤りはもちろん、重複コードがないか、バグの可能性がないか、といったことまで指摘できるのです。また、他OSで起こる可能性のある問題を事前に知ることもできます。
人の目では見つけにくいさまざまな問題点を、事前に明らかにできるので、バグの発生を予防することにもつながるのです。
まとめ
コーディング規約は、統一性のあるコードを書くために必要なルールです。
Javaにもさまざまな規約があります。紹介した『Google Java Style Guide』『電通国際情報サービス Javaコーディング規約2004』『オブジェクト倶楽部 Javaコーディング標準』などは代表例にすぎません。
定められた規約に準拠して、読みやすいコーディングをしましょう。チェックツールを活用すると、書いたコードに規約違反がないかスピーディーにチェックできて便利です。