Должен ли я использовать `! IsGood` или` IsGood == false`? - PullRequest
46 голосов
/ 10 декабря 2008

Я постоянно вижу код, который проверяет, как это

if (IsGood == false)
{
   DoSomething();
}

или это

if (IsGood == true)
{
   DoSomething();
}

Я ненавижу этот синтаксис и всегда использую следующий синтаксис.

if (IsGood)
{
   DoSomething();
}

или

if (!IsGood)
{
   DoSomething();
}

Есть ли причина использовать '== true' или '== false'?

Это удобочитаемость? Люди просто не понимают булевых переменных?

Кроме того, есть ли разница в производительности между ними?

Ответы [ 41 ]

0 голосов
/ 10 декабря 2008

Здесь мы склонны делать следующее:

if(IsGood)

или

if(IsGood == false)

Причина этого в том, что у нас есть какой-то устаревший код, написанный парнем, которого больше нет здесь (в Delphi), который выглядит следующим образом:

if not IsNotGuam then

Это причинило нам много боли в прошлом, поэтому было решено, что мы всегда будем пытаться проверить на позитив; если это невозможно, сравните отрицательное с ложным.

...