コーディング規約とは
大きなプロジェクトには、多くのエンジニアが参加します。すると、全体の質を均一にするためや、読みやすさを追求するために、書き方のルールを定めたコーディング規約が必要になるのです。
規約にはどのようなルールが定められ、どういった利点があるのでしょうか?
関数名や変数名などの規則
コーディング規約では、コードを書くときのルールが細かく決められています。
例えば、「変数やメソッドにつける名前について」「行頭を何文字分下げるのか」「かっこの使い方」「大文字と小文字の使い分け」などです。
このような決まりがあると、エンジニア個人のクセが出にくくなります。そのため、大勢で作ったプログラムでも、統一性があり見やすいコードに仕上がるのです。
プロジェクト内で共有するときの読みやすさが向上するのはもちろん、別のプロジェクトとしてバージョンアップが行われる場合にも、コードを読み込む手間が最小限になります。
コーディング規約作成の利点
細かなルールが規約として定められるのを嫌うエンジニアもいるでしょう。しかし、コーディング規約の作成には、下記にあげる二つの利点があります。
- 読みやすいコードになること
- バグの予防につながること
コードが読みやすいと、バージョンアップやメンテナンスに携わるエンジニアの手間を省けます。内容がすんなり理解できるので、手間も時間も最小限ですむのです。
また、バグにつながる可能性がある複雑なコードの制限もできます。エンジニアごとに複雑と感じる基準には違いがあるため、明文化して基準を統一するのです。
主な内容を紹介
読みやすくバグの起こりにくいコードのために、コーディング規約ではさまざまなルールが定められています。
例えば『命名規約』では、変数・定数・関数・クラス・ファイルなど、名前をつけるときのルールを定めています。名前のつけ方のこだわりは人それぞれだからです。
『コーディング規則』で定めている、行頭をどのようにそろえるか、かっこは何を使うか、といったルールも、読みやすさの向上に欠かせません。
また『禁止事項』は、必要最低限の絶対にやってはいけないことを規定する項目です。禁止事項を設けることで、重大なミスを予防することにつながります。
主なC言語のコーディング規約
コーディング規約は複数あり、C言語だけでもたくさんの種類があります。中でも代表的なものを紹介するので、C言語で開発するときの参考にしてください。
MISRA-C
C言語は、冷蔵庫や洗濯機・掃除機など、独立した機能を持つ機器のソフトウェアを開発する『組込み系』に使われることが多い言語です。
『MISRA-C』は、組込み系ソフト開発のためのコーディング規約で、バグを予防したり、ソフトを移植しやすくしたりする目的で定められています。
より安全性の高いシステムをC言語で作るのに欠かせない規約と言えるでしょう。
またC言語は、コードの書き方の自由度が比較的高い言語なので、エンジニアのクセが過度に出すぎないよう規制する働きもあります。MISRA-Cのコーディング・ガイドライン日本語訳は下記サイトで紹介されています。
IPA 組込みソフトウェア開発向けコーディング作法ガイド
C言語によって作られるソフトウェアのコードを、よりよいものにするために定められたのが『IPA 組込みソフトウェア開発向けコーディング作法ガイド』です。
コードを書くときの注意点やノウハウが、分かりやすくまとまっています。
そのため、規約に準拠してコードを書けば、後からメンテナンスやバージュンアップに携わるエンジニアにも分かりやすく仕上がります。
知っておきたいポイント
規約にのっとってコードを書くときには、これから紹介するポイントを押さえましょう。ポイントを押さえることで、規約の目的を果たした読みやすくバグの起こりにくいコードが書けます。
コーディング規約の優先順位
C言語には紹介した通り、複数のコーディング規約があります。しかも、ルールの内容はそれぞれ違うのです。中には、相反する内容のルールが定められていることもあります。
そこで大切なのが、優先順位を把握することです。
例えば、C言語でソフトウェアを作るプロジェクトで、独自の規約が設けられている場合には、その規約に準拠します。他のC言語の規約は利用しません。
また、プロジェクトやシステムの規約と、C言語の規約の両方がある場合には、プロジェクトやシステムの規約を優先するのが適切といえるでしょう。
判断に迷った場合には、上司に相談してはっきりさせてから作業に移るとスムーズです。
チェックツールを活用しよう
書いたコード全てが規約に準拠できているかを、目視だけでチェックするのは至難の業です。そこでチェックツールを活用しましょう。
ツールを使うことで、すぐに規約違反のコードを見つけられます。
単に書き方のルールに照らし合わせるだけでなく、無駄のない構成になっているか、複雑になりすぎていないかといった点のチェックも可能です。
スピーディーで確実なチェックをすることで、メンテナンスしながら長く使い続けられるシステム作りが実現します。
まとめ
C言語のコーディング規約には、『MISRA-C』や『IPA 組込みソフトウェア開発向けコーディング作法ガイド』などがあります。
こうした規約に準拠してコードを書けば、後からメンテナンスやバージョンアップで扱うエンジニアにも読みやすいコードに仕上がります。
規約に正しく準拠するには、複数ある規約の優先順位をはっきりさせることと、チェックツールを活用して確実にルールを守ることが重要といえます。
規約を正しく理解し、質の高いコードを書くために活用しましょう。