プログラムの書き方やルールをあれこれ考えて・・・

カテゴリ: WEB、WEBシステム関連 / 公開日: 2013年10月13日(日曜)17:36 / 投稿者: Tom Goodsun

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;

ただ、名前空間はそこまでの制約はなさそうなので、もう少しゆるくてもいいみたい。