3

こんにちは、簡単な質問があります。私は 3 ~ 4 人に質問しましたが、それぞれに異なる回答がありました。

どちらのコード レイアウトが優れていて、より多く使用されていますか?

それが一貫している限り、それは本当に重要ですか?

プログラマーとして働く世界で、より良い実践と見なされているのはどれですか?

例えば

A)

for(int i=0;i<8;i++)
{
    for(int p=0;p<8;p++)
    {
        if(array[i][p]->Equals(String))
        {
                    //Do Stuff
        }
    }
}

また

B)

for(int i=0;i<8;i++){
 for(int p=0;p<8;p++){
  if(array[i][p]->Equals(String)){
                    //Do Stuff
                }
        }
}

ありがとう、ティム

4

8 に答える 8

1

公開されているスタイル ガイドがいくつか存在します

ReturnType ClassName::FunctionName(Type par_name1, Type par_name2) {
  DoSomething();
  ...
}

ブロックの場合:

if (condition) {  // no spaces inside parentheses
  ...  // 2 space indent.
} else {  // The else goes on the same line as the closing brace.
  ...
}

他のブロックについても同様の例があります。

そのようなスタイル ガイドをいくつか見て回って、ある程度有名なソースからのもので、気に入ったものを 1 つ選びます。スタイルに反対する人がいたら、「ああ、X から拾いました」と言ってください (X は Google、geosoftの可能性があります)。 、またはその他の好きなソース (さらに多くのソースがここにリストされています)。

于 2010-03-04T01:29:00.620 に答える
1

実際には、ほぼすべての場合に明確な答えがあります。作業しているコードベースで現在使用されているスタイルを使用してください。新しいプロジェクトを開始する場合は、コードを管理するチームが管理する他のプロジェクトで現在使用されているスタイルを使用してください。

私が扱ってきたコードベースの大部分は、GCC やその他の FSF ソフトウェアにルーツがありました。つまり、私のすべてのプロジェクトで、別の行に「{」を付けたスタイルを使用してきたということです。それが「より良い」理由の正当化を思いつくことができますが、それは主観的なスタイルの問題です. プロジェクト内およびチーム内で一貫性があることは、客観的に優れています。

于 2010-03-04T01:32:16.913 に答える
0

既に指摘されているように、コード ベースまたはチームで既に使用されているスタイルを使用する必要があります。

ただし、大学生の場合や中括弧を使用する言語を使用したことがない場合は、中括弧を独自の行に配置することをお勧めします。新しい開発者は、中括弧がコードと同じ行に配置されている場合に、欠落している中括弧を識別するのに問題がある可能性があることがわかりました。これはおそらく、最新の IDE ではそれほど大きな問題ではありません。

于 2010-03-04T01:47:23.337 に答える
0

私が若い頃は、これらの質問はすべて主観的な意見の問題であり、個人の好みに任せるのが最善であると信じていました.

年齢を重ねるにつれて、視力がますます乱視になってきました。手術をしなくても、乱視はメガネやコンタクトで矯正できますが、矯正は完全ではありません。

乱視は、コードの読み取りを含め、読み取りを困難にします。

私のような乱視を持つ人にとっては、identifiers_with_underscored_spacingよりもはるかに読みやすいIdentifiersWithCamelCaseWordBreaks.

同様に、私にとっては、コードと行を共有する中括弧よりも、行の中括弧自体の方が読みやすいです。

したがって、よりアクセスしやすいため、提案された 2 番目のスタイルをお勧めします。

于 2010-03-04T02:09:40.477 に答える
0

ここに正解も不正解もありません。それはあなた、またはあなたのチーム/組織の好み次第です。

中括弧に関する限り、私の現在のチームはオプション B を選択していますが、私は実際にはオプション A を好みます。

個人的には、読みやすくするために、特に「for」と「if」の後にもう少し間隔を空け、オプション B にもう少しインデントを入れることをお勧めします。しかし、それは私の好みです。

于 2010-03-04T01:31:04.330 に答える
0

これは完全に主観的なものです。どちらも人気です。

于 2010-03-04T01:25:53.997 に答える
0

何、中間点がないの?それぞれが (比較的) 極端な立場を取るように設計された 2 つの例だけですか?

明らかに、わずかに異なる書式設定規則が多数含まれる中間的な例を大量に省略しています。

少なくともあと 10 種類のバリエーションを考えられない場合は、実際には何の努力もしていません。2 つのバリエーションでは、ニュアンスに焦点を当てるのに十分ではありません。

必要に応じて、怠け者になることもできます。適切な IDE がフォーマットされます。私はEclipseを使用しており、それは私のためにフォーマットされています。それは私がまったく考えずに使用しているものです。

また、オープンソース コードをダウンロードして読み取り、そこにあるスタイルを実際にエミュレートすることもできます。これは少し怠惰なアプローチではありません。他の人のコードを読む必要があります。

于 2010-03-04T01:32:40.580 に答える
0

完全に主観的ではなく、少数のプロジェクトにのみ有効な理由を、一方が他方よりも優れている理由を考え出すことができるかどうかはわかりません.

私は圧縮されたスタイルが好きで、コードがよりコンパクトになる傾向があります。関数がコンパクトで画面に収まるのが好きなので、それが役立ちます.

しかし、それは他の人々を狂わせ、ブロックが独自の行で開始および終了するのを見たくない. 私は彼らの要点を見ることができます。

各開発者が独自の設定を使用し、ソース管理システムに不可知論的な形式で保存させるため、通常は大したことではありません (どの形式であってもかまいません)。

もちろんYMMV。

于 2010-03-04T01:43:10.380 に答える