プログラムTIPS

DEMO PROGRAM ヘキサドライブでは様々な研究開発をしています。その一部を紹介。

コーディングルール(2008年12月17日)

今日はプログラムのコーディングルールについてお話してみたいと思います。
 
『コーディングルール』とは何か?
  

コーディングルールは、プログラムのソースコードの記述をするときの文法作法のルールのことです。
例えばC言語でもっとも一般的なコーディングルールの例は次のようなものです。
 
【作法A】 中括弧を構文の右側に付ける

if( a > 0 ) {
a = 0;
} else {
a = -1;
}

【作法B】 中括弧を改行して構文の下側に付ける

if( a > 0 )
{
a = 0;
}
else
{
a = -1;
}

C言語にしばらく触れたことがある人は体験したことがあると思います。
これは言語そのものが改行箇所を定めておらず自由度の高いコーディングスタイルで記述できるように
という配慮からこのような記法があるのですが、極端な話ではこれを次の例のように一行に記述することも
できてしまいます。

【作法C】 一行に収める

if( a > 0 ) { a = 0; } else { a = -1; }

上記の記法AとBとCどれでもプログラムは問題なく動作します。
それぞれに長所と短所があります。
 
作法Aの場合
○ 総行数が少なくて済む
× 括弧の位置関係が見にくい(開く・閉じるが視覚的に同列に無い)
 
作法Bの場合
○ フロー内部の処理と開始終了の区切りが見やすい
× 行に余白が多くなり間延びしてしまう(括弧1文字に一行を消費したりする為)
  

10年以上前のPCではハードウェアの制約で一画面に表示できる文字の行数が少なかった(20行?30行だった)ため作法Aのスタイルがよく使われていました。
今でもそのメリットは有益ですのでこの手法をとるプログラマは多いと思います。
 
このようなコーディングスタイルを一貫して統一して記述しましょうというのがコーディングルールです。
さまざまな作法がごちゃごちゃに混ざったソースコードはやはり読みにくいですよね。
ここで大切なのはそのコーディングスタイルが優れているかというよりも第三者がソースコードを見るときに見やすいかどうかのほうが重要だということです。
特に企業レベルで制作するプログラムは一人ではなく複数人数で分担して一つのものを作成していきます。
そのときにお互いのソースコードが同じ書き方でなければお互いのプログラムソースコードを読むときに読みにくく感じてしまいます。
チームや会社のような大きなグループ単位でこのようなスタイルの統一を図っておけば少しでも快適な制作になるだろうと思います。
 
今回の例は中括弧のみでしたが、コーディングルールではほかにも様々なルールを決めることもあります。
クラス名、変数名についても大文字小文字の区別やアンダーバー、プリフィクス(ポインタにはpDataなど名前の先頭に”p”をつけるなど)やコメント文の書き方、多岐にわたって決めることもあります。
これもプログラマ同士で円滑にソースコードを運用していく為の知恵なのです。
 
コーディングルールは作法のどれが正しくてどれが間違っているかということは一切ありませんので個々の主観によると思います。
チーム内でA派とB派に分かれて対立!なんてことにもなりかねません(ならない!?)
ヘキサドライブでは現在、しっかりとコーディングルールを取り決めて制作の時に運用しています。
ソースコードは会社とプログラマの資産ですからね!
統一されることで、より一体感のあるプログラムソースコードとなるでしょう。
作品だけでなく、そのときに作られるもの全てを大切にしていこうという気持ちがヘキサドライブにはあります。
 
名前を付けるって大変ですね。変数名もクラス名も。
みなさんも良いコーディング生活をおくってくださいね。

【免責事項】

本サイトが提供している情報に関しては、安全性等、いかなる保証もされません。 株式会社ヘキサドライブは、これらの情報をあなたが利用することによって生ずるいかなる損害に対しても一切責任を負いません。

【著作権】

本サイトが提供しているコンテンツについては、特に断りのある場合を除き、株式会社ヘキサドライブが著作権を有します。