6

I basically learnt C/C++ programming by myself, so I don't know much about good programming habit. One thing always make me wonder is why people always like to add spacing between operators in their codes like:

   if(x > 0) 

instead of

   if(x>0)

Are there any particular reasons for that? We know the compiler simply ignores such spacings, and I don't think the latter expression is less readable.

4

8 に答える 8

14

C/C++ lexerの最大マンチ原理のために、スペースが必要になる場合があります。考慮し、両方とも int、expression へのポインターですxy

*x/*y

lexer は/*コメントとして扱うため、違法です。したがって、この場合、スペースが必要です。

*x / *y

(本「Expert C Programming」より)

于 2012-12-12T08:45:41.053 に答える
6

あなたが主張するように、私はそれが常に起こるとは思わない. 一般に、大規模なプロジェクトで作業する場合、スペースを追加するかどうかについての慣習があります。

ケースバイケースでスペースを適用します。

a+b+c+d

より読みやすい、IMO

a + b + c + d

でも

a+b*c+d

よりも読みにくい

a + b*c + d

最初に慣習に従い、その後で読みやすさについて考えます。一貫したコードはより美しくなります。

于 2012-12-12T08:41:11.463 に答える
5

It's simply good manner. You can write your code as you want, but this is a kind of "standard" way.

Also makes the code more readable.

Two examples to make you understand.

1) Space less

 if(x<0.3&&y>2||!std::rand(x-y)&&!condition){
 std::cout<<++x?0:1<<std::endln;
 }

2) With good formatting:

 if (x < 0.3 && y > 2 || !std::rand(x - y) && !condition) {
    std::cout << ++x ? 0 : 1 << std::endln;
}
于 2012-12-12T08:40:12.190 に答える
4

The compiler doesn't care about whitespaces. It's just about readability.

Some people prefer whitespaces around operators, some don't. It's a matter of personal preference.

The only thing that matters is that when you work in a team, that you all agree to follow a uniform style (not just in regard to this, but also about a lot of other details), because a mix of both is harder to read than a uniform way, even when it's the one you like least.

于 2012-12-12T08:40:30.007 に答える
2

主な理由はコードの読みやすさだと思います(そして、私にとっては非常に重要な理由です)。

私にとっては、スペースが増えるとコードが開き、読みやすくなります (そして、理解しやすく、変更しやすくなります)。

私のスタイルは次のとおりです。

if (x > 0) 
{
  ....
}

ifと開き括弧の間のスペースに注意してください(

于 2012-12-12T08:42:24.927 に答える
1

私は、大多数の人にとってコードがより読みやすく見えるという他の人たちの意見に同意します。より読みやすいとは思わない人もいますが、他の人が将来コードを見て、より読みやすいスタイルの恩恵を受けると想定する必要があります。

于 2012-12-12T08:46:34.330 に答える
0

コーディング スタイルは、一般に、ソース コードを読みやすくしたいという欲求によって決まります。ただし、どのスタイルが他のスタイルよりも読みやすいかどうかについては、ある程度の主観があります。ただし、ほとんどの人は、同じファイルで両方のスタイルを組み合わせて使用​​することは悪い選択であることに同意すると思います.

于 2012-12-12T08:41:07.453 に答える
-2

読みやすさ。比較:

// C++

if (x > 0)
{
    // some
    // code
}

# Python

if x > 0:
    # some
    # code
于 2012-12-12T08:46:54.313 に答える