2009-05-01 3 views
2

私は私のプログラミングスタイルを促進/広告掲載しています、しかし、これまで「複数の変数の宣言は」としては懸念している、専門的かつ一般的より受け入れている場合:どのコーディングスタイルが一般的ですか?決して形状または形態で

ケース1:

private $databaseURL = "localhost" ; 
private $databaseUName = "root"  ; 
private $databasePWord = ""   ; 
private $databaseName = "AirAlliance"; 

ケース2:

private $databaseURL = "localhost"; 
private $databaseUName = "root"; 
private $databasePWord = ""; 
private $databaseName = "AirAlliance"; 

私はそれにもかかわらず脱脂し、すべてのiは、視覚的にすることができます。また、正しい方法速いケース2よりもあることがわかりますので、私はケース1が好きな理由は、変数名に慣れると、プログラムで後者の方が早く作業することができます。

+2

私もケース1が好きですが、この質問はあたかも彼らが来るほど主観的です。 – paxdiablo

+0

これは実際にPHPに限定されていません... –

+0

デフォルト値が何らかの形で長さに基づいていない限り(たとえば10の累乗である場合など)、最初のスタイルはどのようにしてすべてがより速く正しいことがわかりますか? – Calvin

答えて

16

プロジェクトが既に使用しているスタイルなので、あなたが触れるすべてのファイルに固定してしまうことはありません。

+0

私のように。 :) –

8

ケース2.新しい変数を「グループ」に追加するか、その行の1つに文字を追加/削除すると、行を整列させるために時間を費やす必要がなくなります。

3

興味深い質問です。私が考える限り、ケース1を使用する正当な理由はありません。設定ファイルを除いて以前はそのスタイルを見たことがなく、コードを適切にフォーマットするための余分な時間がかかります。変数の内容を変更するとすぐに、セミコロンもリセットする必要があります。

スペースを使用する場合にのみ機能します...タブを使用している人なら、別のタブストップが設定されている可能性があります。

あなたが言いたい可読性の利点は、それを書くのに必要な余計な努力によって幾分相殺されていると思います。

14

場合1.5:

private $databaseURL = "localhost"; 
private $databaseUName = "root"; 
private $databasePWord = ""; 
private $databaseName = "AirAlliance"; 

私はセミコロンを揃えることはこれ以上読みやすくなり、それはちょうどそれが迷惑な文字列のいずれかの値を変更することができますだと思うし、その後にスペースを追加したり削除したりする必要はありませんセミコロンを一直線に並べます。

この場合、変数名が変更されそうにないので、等号を整列しても問題ありません。しかし、変数名が変更される可能性がある場合は、すべての行をもう一度並べ替える必要があるため、(再度)ケース2を使用します。 ($databaseLongVariableNameという新しい変数を追加するだけの作業を想像してみてください。)

+0

正確には、私はセミコロンを整列させることが、どのような違いがあるのか​​分かりません。 – alex

+0

ああ、emacsとM-X align-regexp-region –

+0

のTextMateでの⌘join(Command + Option + Right Bracket)の結合がこれを行います。 – GloryFish

0

IDE /テキストエディタがあなたのために行うことができない限り、セミコロンを整列させる時間は無駄に思えます。特に、前のエントリより長いエントリを後で追加すると、 すべてのうちの1つを再調整する必要があります。

0

「プリティプリント」機能が使用可能な場合は、それを使用します。あなたが好きなものは100%にすぎませんが、コーディングスタイルが一貫していて、最終的にメンテナンス性が向上することを意味します。

このような機能がない場合、私は既存のスタイルに従います。

0

私はちょうど私の編集者を解雇し、ちょうど私に当たった。ケース1が好きな理由は、時間を無駄にせずに構文の強調表示にあるからです。

+4

あなたのエディタがあなたにヒットしましたか?私はあなたがそれを発射するために得るものだと思う:-) – paxdiablo

5

新しい変数を追加するときにすべてのアラインメントを変更すると、diffツールには複数の変更が表示されます。ちょっとした考え。

また、私はこれを一度やりました。私が長い変数を追加しなければならないとき、それはお尻の痛みになりました。スペースに合わせて既存のものをすべて埋めて、このテクニックを無効にしました。

+0

diffについての良い点。私は、そこにフォーマットの変更を無視するインテリジェントdiffツールがあるのだろうかと思います。 – Calvin

+0

@カルヴァン...おそらく存在しますが、存在するものはわかりません。 – alex

0

ケース2.間隔を再調整するたびに、何かバージョンコントロールが狂ってしまいます。強調表示されているIDEや可変リストも表示されていますが、実際には '='と ';'を整列する時間が無駄です。私の考えでは。

0

ケース2.セミコロンを省略した場合は、私にそういうプログラムがあります。それはコンパイラです。はるかに標準で

1

ユースケース2:Google C++ Style

本当にあなたも、このを気べきではありません。エディタはコードを自動的に自動フォーマットします。 Eclipseでctrl + shift + Fを試してください。

3

それはあなたが長い行に追加したときにそう

function getName() { return $this->name; } 
function getAge() { return $this->age; } 
function getHeight(){ return $this->height; } 

問題が来るように私はPHPで私のアクセサを整列させるために使用される、きれいなものを揃えることは非常に魅力的です。

function getName() { return $this->name; } 
function getAge() { return $this->age; } 
function getNiNumber(){ return $this->ni_number; } 
function getHeight(){ return $this->height; } 

I編集した場合私の変更をコミットすると、誰が特定の行を書いたのか、どの行が改訂されたのかを知ることが難しくなります。

+0

+1、これは人々に、既存の配置を維持するためにより多くの無駄なスペースを追加するよう誘惑します。 –

0

あなたが作業しているプロジェクトがこれまで最高の選択肢です。 (プロジェクトにコーディングガイドラインがない場合は、プロジェクトを定義するのに5分を費やすことを強くお勧めします)。

多くの大きなプログラムには、コードをスキャンして並べ替えやクリーニングをするツールがあります。変数の末尾に空白を追加すると、がその一部に影響する可能性があります。

タブについても、私は編集のためのタブの間隔を決定していないプロジェクトに取り組んだことはありません。あなたはいつもあなたの個人的なものを使用することができ、入る前にファイルを編集するための事前コミットを持っていますが、タブの間隔をつぶすと人々は終わりがありません。

2

=;のようなものを整列させると、タブスペースねじ込みの大きな混乱が招待され、後で修正する必要があります。

ほとんどの人は、インデントのために行の左側にタブを使用し、次にスペースを使用して右側にあるものを整列させます。

ファイルに膨らみを加えただけでは、大きくて矛盾した厄介なものになります。私にとって、それはコードをそれ以上読むことはできません。エディタによっては、コードをより少なくてもより小さくすることができます。

0

コードスタイリングをより詳細に理解するために、「Expert PHP 5 Tools」という本を見ることができます。 *ネットに電子書籍があります*

関連する問題