7

私は、オープン ソース PHP プロジェクトの一般的な標準マニュアルをたくさん読んできました。

多くの場合、変数スペースにアンダースコアが適用され、多くの場合キャメルケースが適用されます。

グローバル関数と変数は、クラスのメソッド/プロパティとは異なる名前にする必要がありますか?

最も重要なことは一貫性であることは承知していますが、これについての考えを聞きたいです。

あなたは何をお勧めします?

4

8 に答える 8

14

アンダースコアは少し入力しにくいので、camelCase の方が入力しやすいと思います。

グローバル変数を使用しないでください。

私は PHP での手続き型コーディングを避けています。OOP の方が整理しやすいと思います。その上、PHP のグローバル名前空間にはすでに十分なものがありませんか?

一般的に私は固執しようとします:

  • クラスは、必要に応じて StudlyCaps の単数形または複数形の名詞です: ItemRow、.DBItems
  • 変数は、保持するものに応じて、小文字の名詞、単数形または複数形になります$column$name
  • 定数は単数の大文字の名詞です: DEBUG, TYPE_FOO.
  • getメソッドはキャメルケースで、単数形の動詞 ( 、perform、 ) で始まりdo、その後に動作または戻り値を説明する名詞 (単数または複数) が続きます ( getThing()getThings())

それは間違いなく、あなたがコーディングしているものに依存します。PHP や PEAR をコーディングする場合は、camelCase を使用します。Python/Django を使用している場合は、under_scores を使用します。私が ELisp を書いている場合は、破線区切り記号を使用します。

于 2008-12-12T04:36:16.150 に答える
2

PHP 自体では、ほとんどすべてのネイティブ関数がアンダースコアで区切られています。ドキュメント内の PHP コード例のほとんどは、アンダースコアで区切られています。

ほとんどの言語では、Camel または Pascal Casing の方が適切だと思いますが、PHP でアンダースコア区切りを使用する明確な歴史があると思います。

于 2008-12-12T05:28:08.853 に答える
1

Zend Frameworks の命名規則(PEAR に基づく) は、おそらく PHP の世界で標準に最も近いものです。個人的には、変数名に lowercase_underscore を使用することを好みますが、それ以外はほとんど ZF の規則に従います。

10 周年記念の更新:

最近では、コミュニティ内で広く受け入れられている標準があります。あなたはそれに固執する必要があります:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md

于 2008-12-12T16:21:13.440 に答える
0

はい、最も重要なことは一貫性です。あなたが唯一の開発者である場合は、メソッドに固執してください。チームで作業している場合は、他のチームメンバーと話してください。グローバル、関数/メソッド、およびクラスを区別すると、コードが読みやすくなります。一部の人にとっては、_underlines を使用するよりキャメルケースの方が簡単なので、チームでオプションについて話し合い、スタイルを選択する必要があります。

于 2008-12-12T04:27:41.440 に答える
0

注: MySQL の table_names にはアンダースコアを使用し、MySQL のフィールド名には UpperCamelCase を使用します。

通常、変数名とクラス プロパティには $lowerCamelCase を使用しますが、フィールドの値が含まれる場合は $UpperCamelCase フィールド名を使用し、テーブルのデータの配列である場合は $table_name を使用します。このようにして、それを参照しているすべてのものを簡単grepに探しSomeFieldたり見つけたりすることができます。some_table

この正確なシステムを使用する必要はありませんが、フィールドまたはテーブルへのすべての参照を検索できることは大きな利点です。

于 2008-12-12T04:35:17.620 に答える
0

私の目標は、名前の特定の形式が何であれ、より多くの情報を追加することです。名前はコードの理解を深めたり、重要なことを表現したりしますか?

もしそうなら、素晴らしいです、あなたはそれに成功しました.

名前が何も追加しない場合、なぜわざわざ名前を付けたのですか?

私は今週初めにこれについて書きました:

http://caseysoftware.com/blog/useful-naming-conventions

于 2008-12-12T17:40:24.390 に答える
0

PEAR Coding Standardsを読むことをお勧めします。PEAR は公式の PHP 拡張機能およびアプリケーション リポジトリであるため、言語の公式コーディング標準と見なすことができます。

于 2008-12-12T17:47:44.063 に答える
0

以前は camelCase を好んで使用していましたが、より大きなアプリケーションで一貫性を保つために、CodeIgniter のスタイル ガイドを採用しました。

彼らのフレームワークを使用していない場合でも、明確で包括的なスタイルを定義する作業に感謝することができます: http://codeigniter.com/user_guide/general/styleguide.html

于 2008-12-12T13:31:40.740 に答える