コーディングについて


コーディングをする際にやることについてのお話です。

コーディングルール / 戻る / トップページ


コーディングルール

一般的なチームプログラミングと同様、ゲームプログラミングでも 複数人数で開発するときには、プログラムの書き方を統一して行います。 それはもちろん保守性を高めるために必要なことです。 特に仕様変更が多いゲーム開発においては、他人の担当したコードに 手を加えなければならなくなることも残念ながらしばしば起こるため、 その必要性は大きくなります。
 
コーディングルールとして決めることとしては次のような項目が挙げられます。
 
命名規則
 
ファイル名、関数名、変数名、クラス名などの識別子の名前の付け方を統一します。 大文字小文字の使い方、ローマ字表記や省略形を認めるか否か、同じ意味のものに 複数の名前を付けない、等を決めることが多く、お互いのコードを読む際の 分かりやすさを求めて決めていきます。 一般的な方式として、Pascal 形式 (識別子の最初の文字と、後に続いて連結 されている各単語の最初の文字を大文字にする、3 文字以上から構成される 識別子に対して使用される)、Camel 形式 (識別子の最初の文字は小文字にし、 後に続いて連結されている各単語の最初の文字を大文字にする) などがあります。
 
パッケージング
 
フォルダ構造、名前空間の分け方を決めます。これも全員のコードを 分かりやすく分類することが求められます。
 
コメント
 
モジュールの外部に公開する関数、public 属性のクラスのメソッドなど、 他者が使用する機能についてコメントを必ず書くなどを取り決めます。 個人作業ではコメントを書くことを面倒くさがる人も多いですが、 多人数開発においてはコメント・マニュアルの整備をしておかないと、 後から開発に加わった人や、作業を受け継いだ人に迷惑をかけてしまうため、 きちんとコメントは書くようにしましょう。 また、ソースの更新を行ったときには必ず特定のファイル (ChangeLog など) に その更新内容を記述することを義務づけることもあります。
 
言語の機能の使用の有無
 
クラスのフィールド値を public にしてはならない、多重継承は原則禁止など、 開発言語で使用可能であっても破綻を起こしやすい機能は使用を制限することで 問題が起こることを前もって防ぐ意図があります。
 
基本型
 
OS によって int の精度が異なる C 言語などで特に決められることが多いですが、 基本型をプログラミング言語標準のものを使用するのではなく、共有で使う 型を用意し、それを必ず使うように決めることがあります。これは、 コードの普遍性を保ち、別のプラットフォームに移植することがあったときに 容易に移行できるようにするためです。
 
単位
 
時間や距離・角度の単位などを統一しておくことで引数の値に何を指定すれば 良いかを間違えないようにするためです。また、デザインデータとプログラム上の 値の関係を明確にすることも重要で、デザイナーのツール上での距離 1.0 が プログラム上でいくつに相当するかを決めておくことで、デザイナ・企画と いった他の職種の方とのやりとりがスムーズに行えます。
 
マナー
 
コンパイルのワーニングは放置しない、goto は極力使わない、などの 一般的にコーディングでやってはいけないと言われていることをお互いに 確認するためにコーディングルールとして明文化することもあります。

戻る