どちらか一方を使用する理由を知りたい 2 つのコードがあります。
オプション1
Void GoodPractice()
{
bool flag;
if (right)
{
flag=1;
}
else
{
flag=0;
}
}
また
オプション 2
Void GoodPractice()
{
bool flag=0;
if (right)
{
flag=1;
}
}
理由も教えてください。ありがとう。
どちらか一方を使用する理由を知りたい 2 つのコードがあります。
オプション1
Void GoodPractice()
{
bool flag;
if (right)
{
flag=1;
}
else
{
flag=0;
}
}
また
オプション 2
Void GoodPractice()
{
bool flag=0;
if (right)
{
flag=1;
}
}
理由も教えてください。ありがとう。
ない...
void GoodPractice()
{
bool flag = right;
// though I would return it ;)
}
bool flag = right != 0; // if you want to be more explicit
これらのコード例はどちらも機能的に同等であるため、実際の違いはスタイルの問題です。
ただし、一方が他方よりも明確な場合があります。
たとえば、短い関数では、2 番目のオプションは明確ですがbool flag=0、if ステートメントとステートメントの間に多くのコードがある場合、2 番目のオプションはあまり明確ではありません。
このような理由で、私は両方を正確に使用しました。コードを見てください。より明確に見えます。
それはあなたが何をしたいかによります。
一般に、フラグが定義されていないコード セクションがないため、2 番目のバージョンは最初のバージョンよりも優れています。
Void GoodPractice()
{
bool flag=0;
// you can use flag
if (right)
{
flag=1;
}
}
Void NotAsGoodPractice()
{
bool flag;
// you can't use flag, because it has no defined value
if (right)
{
flag=1;
}
else
flag=0;
}
私の謙虚な意見では、私はこれがより良いと感じています.
Void GoodPractice()
{
bool flag;
if (right)
{
flag=1;
}
else
{
flag=0;
}
}
はい、コードの行数が増え、余分な CPU サイクルが 1 つか 2 つかかる場合があります。
しかし、考えられるすべてのロジックタイプをカバーする明確な方法でコードを書くことにより、エラーを起こす可能性が少なくなる可能性があると感じています.