6
を扱うガード句/エラーを含む余分な他のブランチは多くの場合、あなたはこのようないくつかのコードを参照してください。アンチパターン:
public void bla()
{
if (conditionTrue)
{
// long code here
} else {
// otherwise do nothing
return;
}
// some more code
}
他の支店は明らかに下向きに滑って、いくつかのガード句、ロングコードのインデントです-sectionを平坦化することができます。
public void bla()
{
if (!conditionTrue)
return;
// long code here
// some more code
}
一部の専門家は、支店であれば3、4または5のレベルにこれらの余分をネストすることによって、これを締めくくり、読み絶対に難しいコードを作成します。
私は何とかこの話題に触れて、これらの場所を知っている:
- http://martinfowler.com/refactoring/catalog/replaceNestedConditionalWithGuardClauses.html
- http://c2.com/cgi/wiki?GuardClause
- http://c2.com/cgi/wiki?HandleErrorsInContext
- https://developer.mozilla.org/En/Mozilla_Coding_Style_Guide#Error_handling
- Shall I use guard clause, and try to avoid else clause?
これは名前付き反パターンですか、その名前は何ですか?
素敵ようなにおいがします。 –
ああ、私はこの種のコードに非常に精通しています: '( – GETah
これはありがとうございます。しかし、実際には、私は説明されたelse-return-situationの名前を探しています。 (言及した)複数レベルのインデント。 – mdo