HEXA BLOG
ヘキサブログ
プログラム
コーディングルール
こんにちは!イワサキです。
今日はプログラムのコーディングルールについてお話してみたいと思います。
『コーディングルール』とは何か?
コーディングルールは、プログラムのソースコードの記述をするときの文法作法のルールのことです。
例えば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派に分かれて対立!なんてことにもなりかねません(ならない!?)
ヘキサドライブでは現在、しっかりとコーディングルールを取り決めて制作の時に運用しています。
ソースコードは会社とプログラマの資産ですからね!
統一されることで、より一体感のあるプログラムソースコードとなるでしょう。
作品だけでなく、そのときに作られるもの全てを大切にしていこうという気持ちがヘキサドライブにはあります。
私事ですが先日、子供が産まれて命名に迷って迷って大変でした。さりげなくカミングアウト!?
名前を付けるって大変ですね。変数名もクラス名も、人間も! 人間も!?
みなさんも良いコーディング生活をおくってくださいね
CATEGORY
- about ヘキサ (166)
- 部活動 (6)
- CG (18)
- プロジェクトマネジメント (1)
- 研修 (4)
- 美学 (1)
- いいモノづくり道 (230)
- 採用 -お役立ち情報も- (149)
- プログラム (188)
- デザイン (99)
- ゲーム (274)
- 日記 (1,104)
- 書籍紹介 (113)
- その他 (872)
- 就活アドバイス (20)
- ラーメン (3)
- ライフハック (25)
- イベント紹介 (10)
- 料理 (23)
- TIPS (7)
- 怖い話 (3)
- サウンド (5)
- 子育て (1)
- 筋トレ (1)
- 商品紹介 (21)
- アプリ紹介 (31)
- ソフトウェア紹介 (33)
- ガジェット紹介 (12)
- サイト紹介 (10)
- 研究・開発 (34)
- 回路図 (4)
- アナログゲーム (40)
- 交流会 (21)
- 報告会 (3)
- インフラ (25)
- グリとブラン (6)
- カメラ (9)
- クラフト (27)
- 部活 (14)
- 画伯 (15)
- カレー (6)
- 音楽(洋楽) (6)
- 映画・舞台鑑賞 (43)
- 飼育 (5)
- いぬ (8)
- ねこ (19)
ARCHIVE
- 2024年
- 2023年
- 2022年
- 2021年
- 2020年
- 2019年
- 2018年
- 2017年
- 2016年
- 2015年
- 2014年
- 2013年
- 2012年
- 2011年
- 2010年
- 2009年
- 2008年
- 2007年