1

コードが次の形式であることは、読みやすさにとってどれほど重要ですか。

public void DoStuff()
{
    var v = new Object();
    v.PropertyID = "abc";
    v.Type = "abc";
    v.Style = "abc";
    v.SetMode(Mode.Abc);
    v.Draw();
}

対。

public void DoStuff()
  {
    var v = new Object();
        v.PropertyID = "abc";
        v.Type = "abc";
      v.Style = "abc";
       v.SetMode(Mode.Abc);
   v.Draw();
    }

私は最初のスタイルが一番好きな傾向があります。それは物事を読みやすくするためです.どのように人々を前者に優しく導き、後者から遠ざけることができますか? それともしませんか?

4

9 に答える 9

2

人々は実際に後者のようなコードを書くのでしょうか? それは保守性の悪夢です。

コードのフォーマット規則が何であるかはそれほど重要ではなく、それらに一貫して従うことが重要であると私は主張します。前者の例は一貫性がないため、読みにくく、維持できません。

人々を一貫性に導くのに苦労している場合は、1 年で非常に一貫性のないコードを維持するために戻ることを想像してもらいます。

于 2009-05-15T20:01:53.213 に答える
1

それが私のコードであれば、次のようにします。

public void DoStuff()
{
    var v = new Object();

    v.PropertyID = "abc";
    v.Type       = "abc";
    v.Style      = "abc";

    v.SetMode(Mode.Abc);
    v.Draw();
}

このようにして、どの行がプロパティの割り当てで、どの行がメソッド呼び出しであるかが明確になります。

また、「形式は非常に重要ですが、必須ではありません」という Jamie の回答にも同意します。重要なのは、他の人が読む能力を損なうほどフォーマットが悪くないということです。ほとんどの場合、ほんの一握りの余分なタブや改行が有能なプログラマーに大きな違いをもたらすとは思いません。

于 2009-05-15T20:11:44.767 に答える
1

形式は非常に重要ですが、必須ではありません。後者のようなコードを見ると、少しイライラする傾向があります。コードを書くのに時間がかかる場合は、時間をかけて正しくフォーマットするようにしてください。

于 2009-05-15T19:59:19.243 に答える
0

他の人が言っているように、最初の例は標準です。2番目はそれとは異なります。

また、同じファイルセットで作業するすべての人が、「タブ」とは何かについて同じ規則を持っていることを確認してください。これをいくつかのスペースとして定義し、すべてのテキストエディタとIDEが同意するようにするのが最善です。

3人または4人が同じSVNリポジトリで作業し、異なる間隔の規則で各ファイルを編集していると、面倒になります。

于 2009-05-15T20:21:24.523 に答える
0

少し違う方法で行いますが、私はあなたの間隔を好みます。あなたの最も重要な質問は、あなたのアプローチが最善であると誰かに納得させる方法だと思います。コードのフォーマットは非常に主観的なものになる可能性があります。正しくなるまでに時間がかかりすぎるという理由で反対する人もいます。チームにはコーディング標準がないため、反対する人もいます。首にぎゅっと詰まった感じがするので、反対する人もいます。

最良の方法は、チームと協力して、特定のアプローチがベスト プラクティスであるというコンセンサスを構築することです。これは、あなたがリーダーである場合、または個人の貢献者である場合に当てはまります。

チームのコンセンサスが一般的に受け入れられると (それは普遍的ではないかもしれません)、コード レビューはチームの慣行に従っていることを確認するのに最適な場所であることがわかります。仲間からの圧力は、受け入れられたベスト プラクティスに従うよう他の人を励ます最も効果的な方法であることがわかると思います。多くの場合、囲い込みは真実です。コンセンサスなしに、1 人の人間がチームでこの種のことを推進するのは困難です。

これが私の関連するStackOverflowの回答の一部です

于 2009-05-15T20:05:51.643 に答える
0

2 番目の例では、中括弧が均等にインデントされていません。

コードを読むにはスペースが重要です。あなたが私の会社でコードを書いているなら、おそらくいつかそれを読まなければならないでしょう。コードをフォーマットしない場合は、オートフォーマッタを使用して必要なものを取得します。

于 2009-05-15T20:01:24.323 に答える
0

チームで作業する場合、スタイルは非常に重要です。したがって、どのスタイルを選択してもかまいません。全員がそれに同意することを確認してから、同意を実施してください。コードを自動フォーマットするように IDE を設定し、全員の IDE が同じに設定されていることを確認します。

于 2009-05-15T20:02:27.940 に答える
0

親切にしたい場合は、Code Complete を渡して読んでください。意地悪したい場合は、コードに次のような微妙なバグを導入してください。

if (x==y);
   DoSomething(); else
DoSomethingElse();
while(Whatever)
SomeFunction();

(彼らが 1 日も経たないうちにバグを見つけた場合、あなたは十分に注意を払っていません。)

于 2009-05-15T20:03:24.270 に答える