人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【開発】

MySQL4.xとPHP4.xを使用しています。

チームで開発する時、
ソースの可読性をあげるために、
変数名は、単語の切れ目で大文字と小文字で・・・
というルールが暗黙で決まっていると思います。

× $red_line
○ $redLine

しかしながら、MySQLのフィールド名は大文字小文字を区別しないので

× `redLine`
○ `red_line`

みたいなことになっています。

MySQLは、大文字分かってくれないから仕方ない
というのも暗黙っぽいですね。


さて、可読性と世界中のルールを考えると、
× $red_line
○ $redLine
の方が良い感じもしますが、
PHPからMySQLのデータとのやりとり時に、
変数名のコピペ失敗して、
typoしちゃうこともあるので、

いっそのこと、PHPもMySQLも
× `redLine`
○ `red_line`
ってしちゃった方がバグが少ないかなと思ったりするのですが、
皆様のご意見をお聞かせください。

●質問者: caster777
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL PHP typo コピペ ソース
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● lifehacks
●23ポイント

ちょっとそれは厳しすぎるのでは?ライトウェイトなスクリプトとしては、事前コンパイルを前提としないし。予期せぬパターンで出現するバグをより含みやすくすると思うのだが。

◎質問者からの返答

もう少し分かりやすく書いていただけると幸いです。


2 ● yyok
●23ポイント

確かに最近は世間的には、大文字小文字の組み合わせが多いと思います。

私の場合は、

http://www.sra.co.jp/wingnut/standards-j_toc.html

「GNUコーディング規約」の中のこれ

http://www.sra.co.jp/wingnut/standards/standards-ja_5.html#SEC26

「変数、関数、ファイルの名前付け」を参考にしてました。

最近は

http://shugo.net/ruby-codeconv/codeconv.html

「Rubyコーディング規約」の命名規則も少し気にしてます。

どちらも変数名、メソッド名(関数名)については

・小文字使用

・区切りは'_'(アンダーバー)

という点は共通です。

Rubyコーディング規約についてはクラス名だけは区切りを使わず、大文字小文字の組み合わせです。

確かにこれだとクラス名とメソッド名、属性名の区別がつきやすいのでわかりやすそうです。

◎質問者からの返答

おお!!

ありがとうございます。

GNUコーディング規約やRubyコーディング規約では、

アンダーバーで区切るのですね。

知りませんでした。


3 ● watch00
●22ポイント

>ってしちゃった方がバグが少ないかなと思ったりするのですが、

名前の付け方とバグとはあまり関係ないと思います。

DBのネーミングルールとプログラム言語のネーミングルールが

違うことも良くあります。

redLineで統一しても良いのではないですか?

フィールド名は大文字小文字を同一視するだけで、大文字小文字のまま

のはずです。

http://youkey.spaces.live.com/Blog/cns!DF5ABB2B86ACBDDB!230.entry

red_lineでもよいと思いますよ。

昔のPerlとかCとかこのスタイルですしね。

多数決で決めても良いぐらいの問題のように私は思います。

◎質問者からの返答

あ、すみません。

バグっていうか、typoが多くなって、エラーが起きるというか。。。

例えば、DBからred_lineを引っ張ってきて、

$red_Line = $dbResult['red_line'];

(略)

print $redLine;

な感じにしちゃってどこがエラーかみつけにくいことが出ちゃうんです。

> red_lineでもよいと思いますよ。

なるほど、スタイルは自分で築いていけばいいかもしれませんね。


4 ● cuspos
●22ポイント

個人で開発するツール類であれば、コーディング規約はいろいろあるので個人的になじみやすいものでいいと思います。私の場合は以前redLineでしたが、今はRubyを好んで使っているのでred_lineです。

チームで開発する場合はばらばらだと面倒なんで、PHPであれば標準規約でredLineだと思うのでそちらにあわせたほうが良いような気がします。私もid:watch00さんのおっしゃられるように多数決で決めても良い問題のような気がします。まー多数決となると結局言語の標準規約を多く採用している人が多いと思いますので、個人的には標準規約になるべくあわせるようにと思っています。

http://phpspot.net/php/man/pear/standards.html?t=phps

http://framework.zend.com/manual/ja/coding-standard.html

あと私も良くやっちゃうんですが、コピペはしないほうがバグは減りますね。後は適切にクラス設計して冗長なコードを排除できるように学習中です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ