2011-01-05 5 views
1

以下の2番目のインデント方法に関する一般的な意見は何ですか?ドットの前にスペースを入れても構いませんか?

// Normal indentation 
a.Value  = "foobar"; 
ab.Checked  = false; 
foo.Value  = "foobar"; 
foobar.Checked = true; 

// Spaces before the dot to align the properties/methods 
a  .Value = "foobar"; 
ab .Checked = false; 
foo .Value = "foobar"; 
foobar.Checked = true; 

これはおそらくwikiであるはずですが、十分な権限がないか、変更方法がわかりません。私は、このようなインデントスタイルが役に立つかもしれない、より良いショーに別の例を追加することに決めました

編集

fooA .PropertyA = true; 
foobarB.PropertyA = true; 

VS2010の新しい複数行編集機能を使用すると、すべての行のPropertyAを変更する方が簡単になります。

また、C#でドットがまったく珍しくない前に空白や改行があってもかまいません(LINQ参照)。

+0

このフォーマットで何を達成しようとしていますか?あなたが最初にあなたのコードを見ている人の靴の中に自分自身を想像すれば、あなたはこのようなプロパティをインデントすることで読者に何を伝えようとしていますか? –

+0

私はあなたの最初の例が通常の字下げかどうか質問します。 VSはデフォルトで割り当てのアライメントを保持しません。 –

+0

私はプッシュで通常の方法を受け入れます。しかし、私が思うところでは、通常はスペースは一切ありません。 – Kurru

答えて

0

私はいつも "通常のインデント"を使用しています。他の方法は私にはあまり明確ではないように見えます。なぜなら、私はその性質のインデントを見ることを期待していないからです。

+0

あなたはその自然のくぼみを見たいと思っていますか?私はこれがlambdaのような新しい構文機能に移行するのと似ていると思います。私にそれに慣れてしまうまで、それに新しい誰にでも、少なくとも私には、lambdaは無効なコードのように見えます。 – Rudy

2

私は個人的に使うことはありません。

私はこれが目には喜ばしくないかもしれないが、他のものはそれほど理想的ではないと思います。
理由であること: - 維持するために

  1. ハーダー:時々、あなたは小さいまたは大きい変数名を持っている、またはあなたがすべてのエントリの書式設定を調整する必要が意味しているあなたのコード内の他の変数を導入することができます。
  2. ;を押すときにReSharper(おそらく標準のVS?)を使用すると、フォーマットはそれをそのまま行に戻すようになりますので、これをしないでください。
  3. 私は今は思うことができませんが、私は2つのポイントしか持っていません。

編集!別のポイントの考え例えば、ReSharperを使ってReSharperを使って私がfooenter/tab(自動完成を確認する)、tab x可変サイズ(煩わしい)までのXの量が必要な場合は.と入力してください、Valuetab;、その後、再び=その後、割り当てるデータをオートコンプリートを確認してから、私はポイント2で表されるように、すべての私の非標準フォーマットはCTRL + Zのように最後に押し、取り消されたため、Visual Studioので叫ぶしますは今までの書式設定を復元します。 :)

+0

はい私はまた、自動フォーマットを取り消すために非常に頻繁にCTRL-Zを使用しなければなりませんでした。私はそれほど気にしません。しかし、私はまだ可読性が保守性の前に来ると思います。 – Rudy

0

すべてのプロパティ/メソッドが同じ場合にのみ、ドットの前にスペースを使用します。それがあなたの例のようにプロパティの混合物であるならば、私は 'Normal'に固執します。

しかし、Visual Studioの自動フォーマッティングでは、次に誰かが}を入力して、囲みブロックを閉じるためにすべてのものが折りたたまれるため、問題だと思います。

+2

正確には、なぜIDEと戦うのですか? – Greg

+0

私は明らかな議論は:IDEによって適用された自動フォーマットを無効にするか、元に戻すだけです(あるいは可能であれば、あなたが望むフォーマットを生成するようにIDEを構成することもできます)。より読みやすいコードを作成することが目的で、IDEによってコードの読み込みが難しくなる場合は、IDEにコーディングスタイルを指示させることは意味がありません。 – Rudy

0

C#言語の観点から認められます。

第1のスタイルは第2のスタイルよりも読みやすくなっています。私はこれがドットの前のスペースが非常に奇妙に見えるからだと思います。ほとんどの言語ではドットの前にスペースはありません。

私は個人的にはVS IDEで対戦しません。デフォルトのスタイルは私と一緒に良いです。

プロポーショナルフォントを使用すると、そのような書式が完全に破られることに注意してください(このようなフォントを使用するのは、コードを編集する際に非常に珍しいですが、尋ねる)。

編集:流暢なインターフェイスのためにスペース(+改行)を使用するとよさそうです(http://en.wikipedia.org/wiki/Fluent_interface#C.23)。

5

ドットの前のスペースは?親愛なる神よ!

0

私は数回試しました。それは後に見てそれで幸せだったことは決してなかった。

私は常に正しいコンテキストで動作する可能性がある「ドット」に合わせると思った:

// ----------------------- 
// decimal-style alignment 
// ----------------------- 
    a.Value = "foobar" ; 
    ab.Checked = false ; 
    foo.Value = "foobar" ; 
foobar.Checked = true  ; 

しかし、あなたはページの下の目をリードし、インデントレベルのあなたの感覚を維持してきれいな左マージンを失います。だからあなたは、それが接続する識別子でドットを維持することに戻ります。 1の1のコードに課すよりオーダー可能性が高い1は外の事柄に注意することです

// ----------------------- 
// tabular coding 
// ----------------------- 
a.Value  = "foobar" ; 
ab.Checked  = false ; 
foo.Value  = "foobar" ; 
foobar.Checked = true  ; 

:それは順序セット全体を助けしかし...

は等号を整列させることをお勧めし打撃。

パーザは、きちんとした読みやすいコードは気にしませんが、コンパイラはコードの対象読者ではありません。あなたのターゲットオーディエンスは、それを読んで理解しなければならない他の人間です。特に貧しい人々のあなたはあなたかもしれないschmuck —! —これは、急いでコードを拾い読みし、理解を助けるための文書なしで3年または5年後に修正する必要があります。

+0

はい、これは私の前にドットの字下げスタイルの動機です。コードの見た目を難読化し、仕様のように読みやすくする。 – Rudy

0

ドットの前のスペース私は決してコードを読んでいるうちに、スペースを見るとすぐにドットを探すのをやめます。ドットの後のスペースは、私は過去に行ったことがありますが、それほど難しくありません。そのようなスタイルを使用する際の問題は、たとえ読みやすくても、ドットの前のスペースを意味するような大きな飛躍を「標準」と見なすことができれば、より多くのことを妨げることになります人々は助けてください。あなたのチームや職場でスタンダードに固執することが最も重要なことです。たとえそれが白黒標準ではないとしても、あなたの会社の他の99人の開発者がVS標準を満たし、ドットの前にすべてのスペースを置くと、何も改善されません。