[PHP] コーディング規約

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

突然ですが、他人の書いたプログラムを読むことってありませんか?
仕事としてプログラミングを行っている人ならもちろんのこと、個人で趣味で行っている人でも、掲示板などのサンプルコードを目にすることがありますよね。

その時、コードの書き方が自分と違っており、読んでいて違和感を感じたりしませんか?

例えば・・・

if ($hoge == $fuga){
  $piyo = 3
}
if ($hoge == $fuga)
{
  $piyo = 3
}

上の例では、{ の位置が異なります。
こういう違いって、サンプルコードなどでも結構目にするんじゃないでしょうか?

また変数名や関数名でも、

function getHoge(){
function GetHoge(){
function get_hoge(){

意味合いとしては、hogeをgetしたいだけなんですが、大文字小文字、アンダーバー( _ )の有無などの組合せで様々な表現ができてしまいます。

私は、get_hoge() のように、_ で単語と単語が離れているほうが読みやすいんだ!!
と、主張したい気持ちも分からないでもないですが、できるだけ多くの人と同じスタイルの書き方にしておくことが大事です。

あなたの自転車の、ブレーキレバーが左右逆についていることを考えてみましょう。あなたは運転しやすいかもしれませんが、その自転車を友人・知人に貸すことは事故のリスクが高くなりますよね。

他の人が見て、スグに理解できるように書くことが大切です。
なぜなら、プログラムが完成して3ヶ月も離れてしまえば、あなたの書いたプログラムはあなた自身でも分からなくなっている可能性が高いからです。

ということで、やっと本題です。
PHPの標準的なコーディング規約というと、次の2つになります。

Zend Framework

PEAR :: Manual :: 標準コーディング規約

ん? 2つもあるの? 何が違うの?
簡単に書くと、どちらもPHPを代表するような大きな団体で、とりあえず有名どころのこの2つのコーディング規約を参考にしておけば無難だろう。
・・・と。いう流れでしょうか・・・?

すみません。 こういった裏的な事情は、私の知識があいまいな為、端折らせてください。

で、この2つのコーディング規約の類似点をまとめて下さっている方がいますので紹介いたします。
[アイビースター様] PHP 標準コーディング規約
あんまり面倒なことは大変だーって方は、このページに書いてあることだけでも覚えておくといいかと思います。