コーディング規約の概要とJavaの参考例まとめ。ポイントも紹介

読みやすいコードのためのルールであるコーディング規約は、Javaにもあります。代表的な規約とその特徴を紹介するので、コードを書くときの参考にしましょう。規約違反を確認するためのチェック方法についても解説します。

【2022年最新】 Offersで人気の副業・業務委託案件・求人!
  • 【1位】GCP、TypeScript、ReactによるSaaSソフトウェアエンジニア
    週10~40時間、業務委託からスタートもOK!ITサービスの導入支援を効率化!
  • 【2位】テクノロジーでペットライフを豊かにするバックエンドエンジニア募集
    時給4,000円~5,000円!IPOに向けて走っていく1->10フェーズ、業務委託(副業)からOK
  • 【3位】 【フルリモート】ラストワンマイル領域の変革を目指すサーバーサイドエンジニア
    市場規模2.5兆円の巨大なマーケットに挑む、急成長中のテックドリブンな物流Techベンチャー企業
  • 今すぐ副業求人・案件を探す!

    コーディング規約の概要と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コーディング規約2004

    オブジェクト倶楽部 Javaコーディング標準

    メンテナンスしやすいコードを書くために作られたのが『オブジェクト倶楽部 Javaコーディング標準』です。

    ファイル構成・命名規則・コーディングスタイル・コメント・パフォーマンスなどの項目について定めた規約は、プロジェクトに携わる全てのエンジニアが合意し、準拠することで、目的を達成できます。

    複雑さや見慣れないコードを排除し、シンプルで読みやすいコードを良質なコードとする規約です。

    オブジェクト倶楽部 Javaコーディング標準

    コーディングで考慮すべきポイント

    コードを書き始める前に、まず押さえておくべきポイントがあります。あらかじめポイントをチェックしておき、スムーズに分かりやすくコードを書けるようにしましょう。

    優先すべきコーディング規約を考えよう

    Javaの代表的なものだけでも、先に紹介したように複数の規約があります。プロジェクトに参加したときには、複数の規約のうちどれに準拠すればよいかを必ず確認しましょう。

    例えば、WordPressのようなシステムを使って開発をする場合、言語の規約の他にシステム側でも規約を作っていることがあります。

    両者に相反するルールが定められている場合、システムの規約を優先するのが適切といえるでしょう。

    また、プロジェクトで独自に規約を定めている場合、その規約を準拠します。

    読み手の負担を減らす大切さ

    コードを書くときには、読み手の負担を減らすことを前提に、コーディング規約にのっとって作成しましょう。そうすることで、メンテナンスや新バージョンを作成するエンジニアの手間を減らせます。

    読み手の負担を減らすためには、複雑なコードを避けることが必要です。

    • アクセス修飾子は『private』で範囲を限定する
    • 変数のスコープを最小限にする
    • 変数やメソッドのネーミングでは単語を極力そのまま使う
    • 変数はなるべく少なくする
    • 変数が変更されないstaticメソッドを効果的に使う

    以上のようなコード作成の具体例を参考に、コーディング規約に準拠して、読み手の負担が最小限のコードを書きましょう。

    規約に沿っているかチェックしよう

    コードを書いたら、必ず規約通りになっているかチェックしましょう。しかし、目視でのチェックでは抜け漏れが発生する可能性があります。そこで活用したいのが、プラグインやチェックツールです。

    プラグインを利用する

    統合開発環境『Eclipse』や『IntelliJ』では、規約違反をリストアップする『プラグイン』を導入することで、コードのチェックをスピーディーに確実に実行できます。独自の規約を用いている場合にも、設定が可能です。

    プラグインを導入するには、まずダウンロードしてインストールします。その後、適用するコーディング規約を選びましょう。選んだ規約を適用すると、コード中の誤りを指摘してくれます。

    タスクウィンドウに表示された該当箇所をダブルクリックすれば、そのままエディタへ飛んで修正が可能です。

    チェックツールを利用する

    『静的解析ツール』と呼ばれるコードのチェックツールも、規約に準拠できているか確認するのに役立ちます。

    コード表記の誤りはもちろん、重複コードがないか、バグの可能性がないか、といったことまで指摘できるのです。また、他OSで起こる可能性のある問題を事前に知ることもできます。

    人の目では見つけにくいさまざまな問題点を、事前に明らかにできるので、バグの発生を予防することにもつながるのです。

    まとめ

    コーディング規約は、統一性のあるコードを書くために必要なルールです。

    Javaにもさまざまな規約があります。紹介した『Google Java Style Guide』『電通国際情報サービス Javaコーディング規約2004』『オブジェクト倶楽部 Javaコーディング標準』などは代表例にすぎません。

    定められた規約に準拠して、読みやすいコーディングをしましょう。チェックツールを活用すると、書いたコードに規約違反がないかスピーディーにチェックできて便利です。

    Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。

    いくつもの転職媒体を使って、企業を探し回るのはもう終わり。「副業」から始まる新しい働き方を実現します!

    本業では経験できない、新しい環境/開発スタイルを経験しよう!



    この記事をシェア

    関連記事


    副業・フリーランス

    プログラミング

    インタビュー

    医療・介護系SaaSの開発組織をOffersで構築へ!エピグノが実践する業務委託の採用手法とは?

    医療・介護機関向け人材マネジメント領域において、「エピタルHR」「エピタク」「エピオペ」という3プロダクトを展開する株式会社エピグノ。2021年に資金調達を行い、同領域におけるデジタルトランスフ...

    3回の面談を経てTech Leadを採用!タレントプールとしてOffersを活用するサイカの採用術

    データサイエンスを駆使したマーケティングソリューションを提供するサイカ。2020年に「モノづくりビジョン」を定義し、時代や社会にインパクトを与えるプロダクトを生み出すべく、開発組織の構築を進めて...

    MLエンジニアを2名採用。1年間ずっと出会えなかった層にOffersですぐ出会えました

    SO Technologiesは広告会社支援SaaS「ATOM」や店舗集客支援サービス「ライクル」、ネット広告仕入・提案・ 運用支援サービス「AG Boost」、Webマーケティングのノウハウメ...

    『実践TypeScript』の著者・吉井健文が考えるTypeScriptの魅力と可能性

    世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことをマニ...

    デザイン

    お金

    採用・組織