コーディング規約とは
コーディング規約とは『コードの書き方を示したルール』のことです。プロジェクトごとにどのようなコーディング規約に従って開発していくのか定めて、プログラムのコーディングに統一性を持たせます。
まずは、コーディング規約がどういったものかを確認していきましょう。
コーディング規約とその必要性
システム改修が行われるとき、多くの場合は開発者とは別のエンジニアがメンテナンスをすることになります。つまり自分ではない誰かが自分のコードを読む機会が多いのです。また、反対にエンジニアであれば他者のコードを読む機会もあるでしょう。
コーディング規約は、別のエンジニア同士がコーディングを書く際に共通のルールを定めることによって、前任者からの引き継ぎや、バグにになりやすい部分を潰すという意図があります。それを実現するためにコーディング規約は大切です。
コーディング規約がない場合、バグがあってもそれがどこで発生しているかがわかりにくくなるといった問題点が発生する可能性があります。
コーディング規約のメリットとデメリット
コーディング規約のメリット
コーディング規約のメリットとしては、『可読性を上げて保守性を高める』『品質が安定する』ということが挙げられます。
プロジェクトに後から参入してきたメンバーや経験が浅いメンバーがいたとしても、コーディング規約を守ることにより一定の品質を担保したコードを作成することが可能です。
コーディング規約のデメリット
一方、コーディング規約のデメリットとしては、『定期的なメンテナンスが必要』『規約を守るという負荷がかかる』ということが挙げられます。
とりわけIT業界は変化が大きく、定期的なコーディング規約の見直しが必要になります。また、エンジニアによってはルールで縛られることにストレスを感じてしまうケースがあります。ルールは作ればよいというわけではなく、メリットを生かす内容である必要があります。
コーディング規約におけるポイント
続いて、コーディング規約におけるポイントを紹介します。
主な項目別の確認ポイント
まず、誰が見ても分かるような『命名規則』を意識することが大切です。命名規則は変数や関数のルールを定めた規約になります。『title』や『indent』など、誰が見ても役割がわかるキーワードが含ませることがポイントです。
次に、『コーディングスタイル』も重要なポイントです。インデントの仕方やコメントの位置とバランスなどはコードの見やすさに関係してきます。
また、『禁止事項』も、コーディング規約に盛り込みます。禁止事項を明記しておけば大きなミスをするリスクを抑えることができるでしょう。しかし、禁止事項が多すぎると、エンジニアは窮屈さを感じてしまうため、必要最低限にすることもポイントです。
コーディング規約がない場合はテンプレートやガイドを参考に
まれにコーディング規約のないプロジェクトがあります。コーディング規約がないと、コーディングをする際に進行が滞ってしまうことも。
そういった場合はコーディング規約のテンプレートやガイドを参考にしましょう。全般的なスタイルルールや書式ルールなどが記載されており、ガイドラインとして使うこともできます。
主な言語のコーディング規約
それでは、主なプログラミング言語において、よく利用されているコーディング規約を見ていきましょう。
Javaのコーディング規約
Javaのコーディング規約としては以下が挙げられます。
- Code Conventions for the Java Programming Language
- オブジェクト倶楽部Javaコーディング標準
- Google Java Style Guide
- 非公式日本語版
javaは汎用性が高く、多くのエンジニアが使用するため『Google』のような大手でもコーディング規約を出しています。プロジェクトの適正にあったコーディング規約を活用しましょう。
PHPのコーディング規約
PHPのコーディング規約としては以下が挙げられます。
- PSR-2 Coding Style Guide
- CakePHPコーディング規約
- Symfonyコーディング規約
- WordPressコーディング規約
- FuelPHPコーディング規約
特にWordPressではPHPを使う機会も多いでしょう。PSR-2なども使いやすいコーディング規約で、多くのエンジニアが利用しています。
Pythonのコーディング規約
Pythonのコーディング規約としては以下が挙げられます。
- Google Python スタイル
- PEP8
PEPを使うことで、ソースコードスタイルをチェックすることが可能です。vimと組み合わせるとチェックを自動で行えます。
Google Python スタイルもGoogleが提唱する使いやすいコード規約です。どちらも初心者でも理解することが容易なので、ぜひ活用してみてください。
まとめ
コーディング規約がない場合や個人で開発を行うときは『コーディング規約テンプレート』を活用するとよいでしょう。
GoogleやOracleといったプログラム関連の製品を開発する企業がコーディング規約を作成し、公開しています。
コードは誰が見てもわかりやすいようにあるべきだといわれます。コーディング規約を作成して、しっかり守ることにより、コードに統一性を持たせることができます。