一つのプロジェクトとして複数人でプログラミングをするときに、 最低限気を付けなければいけないことがあります。
それは以下の3つ。
- 変数・命名規則のルールを守る
- やり方をかえないこと
- コメントの付け方
これから初めてチームでプログラムを組む人は、これらを意識するだけで劇的に綺麗なプログラムが書けるようになります。
以下、解説します。
変数やメソッドの命名規則に俺ルールを持ち込まない
変数や関数には決まった命名規則があります。
この命名規則は、プログラミング言語別のルールや、企業であればそのプロジェクトによっても独自のルールがあったりします。
例えば以下の例。
// php $userName // キャメルケース $UserName // パスカルケース
変数名の先頭が小文字で始まり、単語の区切りを大文字にするのがキャメルケース。
変数名を先頭から大文字にし、同じく単語の区切りを大文字にするのがパスカルケースです。
命名規則の名前は覚える必要ないです。
自分が関わっているプロジェクトではどういう命名規則が使われているのか確認し、書き方を合わせましょう。
通常、PHPやJavaでは、クラス名をパスカルケース、メソッド名や変数名はキャメルケースを用います。しかし、プロジェクトで独自の命名規則があればそれを優先します。
一部だけ命名規則が異なっていると、後々メンテナンスするのがとてもダルイんです。ホントです。バグを作りこむことにもなります。
どうしても気に入らない場合はプロジェクトで採用する命名規則をまるっと変えましょう。
変数名/メソッド名の付け方にも気を付けた方がいいです。
基本は、
変数名→それが何であるか分かる名詞。($userName)
メソッド名→それが何するのか分かる動詞+名詞、です。(getUserName())
こないだ$dという配列を見かけました。単なるデータなのか配列なのか、ダンプしてみないと何が入ってるかわかりませんね。こういうの書かないように気をつけましょう。
やり方を変えない
複数の部分で同じような処理をするときに、できるだけ自分のオリジナルコードを排除しましょう。
システムの規模が大きくなってくると、似たような処理が必要になる場合があります。
できれば、共通処理として部品化して利用するのがベストですが、そうにもいかないケースは往々にしてあるんですよね。
そのときに、
こっちの方が書きやすいし俺は俺の道を行くぜー!
って独自のやりかたでオリジナルコードを書くと、後でメンテナンスする人が地獄を見ます。というか、今ぼくが見てます・・・。
このような処理を修正する必要がでた場合、プロジェクトを検索してヒットした箇所を直していくのですが、独自コードだと同じ検索条件で引っかからないこともあります。
また、見つけられたとしてもやり方が全然違うと、本当に直していい箇所なのかわからないんですよね。
どうしてもオリジナルコードが書きたい、こっちの方がパフォーマンスも上がるってんなら、最初から全ての箇所を修正しましょう。
これって、慣れててもやっちゃうんですよね。
最初から共通化やメンテナンス性を無視するのは論外ですが、既存のコードがうまく体系化されていないと、既に同じ処理があるのに気付かず、微妙に違う同じコードを量産してしまうことになります。
プログラムを書き出すときは、既にあるものが利用できないかまず確認しましょう。
適切なコメントをつける
メンテナンス性についてもう一つ。
書いたコードには適切なコメントをつけましょう。
あとでメンテナンスするときのコストがぐっと下がったりします。
”適切な”という部分が大事です。これ、とても奥が深い。
コメントには、なぜ?なんのために?を重点的に書きます。
// ダメな例 // xとyを掛けて2で割る $parameter = $x * $y / 2;
何も伝えてないでしょ?
ここまで極端なものは少ないけど、コード見てわかることをコメントに書くのは、何も書いてないのと同じです。
むしろ可読性が落ちるし行数の無駄。STEPの水増し。(死語)
上記の場合は、目的が三角形の面積を求めることであればそう書きましょう。すると2っていうマジックナンバーの意味も理解できるようになります。
後で自分以外がコードをメンテナンスするときに、理解が加速するコメントを心がけましょう。
メソッドコメントも同様です。そのメソッドは、「何を」入力し、「どんな目的」で、「何を(出力)する」のか。このポイントを押さえてください。
さいごに
気を付けたい3つのこととして、
- 変数・命名規則のルールを守る
- やり方をかえないこと
- コメントの付け方
を紹介しました。
これらはベテランでもできていない人が多いです。
初心者のうちに、気を付けてコーディングできる癖をつけると、「こいつの書くコードは分かりやすいな」なんて評判になりますよ。