質問

IFブロックでポジティブロジックを使用するのがなぜベストプラクティスなのか理解できません

http://msdn.microsoft.com/en-us/library/aa629483.aspx

優先:

if (true) 
{ 
   ... 
} 
else 
{ 
   ... 
} 

IFブロックにポジティブな論理を持つことがベストプラクティスなのはなぜですか?

役に立ちましたか?

解決

これは 一般的に見なされています 理解しやすい。

if (!ICanDoThis)
{
    // don't do it
}
else
{
    // do it
}

vs。

if (ICanDoThis)
{
    // do it
}
else
{
    // don't do it
}    

あなたの論理は今日あなたにとって明確であるかもしれませんが、今から数年後にそれを横切って起こった開発者を考えてください。

しかし、他のすべてと同様に、これは単なるガイドラインです。具体的には、エラーチェックで「ネガティブロジック」のようなものを使用します。

if (!myParametersAreValid)
{
    // fail out
}

DoWorkWith(myParameters)

そうでなければ「ポジティブロジック」が必要とする条件のカスケードを避けます。

他のヒント

私は時々このような半陽性のロジックをします。 「Not」オペレーターを使用していないため、技術的にポジティブなロジックだと思います。ポジティブロジックを常に使用するのが難しいと感じることがあります。

if (ICanDoThis == false)
{
  // I can't do this
}
else
{
  // I can do this
}

私はいつも人々が最初に最も可能性の高い結果をテストするのを見てきました。たとえば、モーダルダイアログには通常、デフォルトのボタンがあります(強調表示されています)これが使用される可能性が最も高いか最も一般的であるため、これが使用されるので、あなたが真実であると予想しているなら、あなたは見るでしょう

if (true) {

} else {

}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top