プログラムの書き方やルールをあれこれ考えて・・・
PHPでプログラムを書くことが多いので、ようやくコーディングスタイルについて本気で考えようと思った。
ここ最近、PHP界隈ではphp-figというグループがメインになって作っているコーディング規約が注目されている(と私は勝手に思っている)。
いくつかのレベルに応じてPSR-0~PSR-3まである。
これにそって最近はプログラミングをしようと思っている。
CodeSnifferをインストールして、コーディングスタイルのチェックをかけたり、それをJenkinsに連携させたり、普段エディタはVimを使っているので、VimのCodeSnifferプラグインを使ってみたり。
ちなみにVimのCodeSnifferプラグインは個人的には重いと思ったので、今は使用を控えている。
また、いつか試してみようと思う。
コーディングには色々スタイルがあるが、よくキャメルケース(camel case)といったようなものを聞く。おそらくプログラマなら知っているはずだ。
たとえば「camelCase」といった書き方がキャメルケースと言われる。単語の区切りを、単語の最初の1文字を大文字にする書き方だ。最初の1文字目は小文字とする。
見た目がラクダのようだから(Cの部分がラクダのこぶというわけ)。
他にも幾つかこういった書き方がある。
キャメルケースで最初の一文字も大文字にしたものも一応キャメルケースと言われることがあるが、もう一つ言い方があるらしく、それを「StudlyCaps」というらしい。
「スタッドリーキャップス」と呼ばれ、プログラミングでは、主にクラス名に使われることが多い。
ちなみにキャメルケースは、変数名やメソッド名に使われることが多い。
PHPなら関数名や変数名を単語の区切りをアンダーバーでつなぐことがよくあるだろう。
これは「スネークケース」と呼ばれる。「snake_case」、蛇のような感じってことやね。
ちなみにPHPでは5.3から名前空間が使えるようになった。
Javaとかのpackageにはある程度書き方があって、ドメインを逆順にして書くのだそうだ。
ハイフンが含まれる場合はアンダーバーに置き換えるらしい。
そこで名前空間を使ってJavaのpackage風の書き方をすると次のようになる。
namespace com\tom_gs\www\mylib\util\array;
ただ、名前空間はそこまでの制約はなさそうなので、もう少しゆるくてもいいみたい。