Często widać jakiś kod jak klauzula ta osłona/błąd:Anti-kierunkowa: Zbędne inny oddział zawierający obsługi
public void bla()
{
if (conditionTrue)
{
// long code here
} else {
// otherwise do nothing
return;
}
// some more code
}
Oddział indziej oczywiście jest jakaś klauzula strażnik który spadł w dół, wcięcie na długim kodzie -section może być spłaszczona:
public void bla()
{
if (!conditionTrue)
return;
// long code here
// some more code
}
Niektórzy eksperci góry to wyłączyć przez zagnieżdżanie te zbędne jeśli oddziałów do 3, 4 lub 5 poziomów, tworząc kod, który jest absolutnie trudne do odczytania.
znam tych miejsc jakoś dotyka tego tematu:
- 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?
Czy nazywa się to anty-wzorem i jak się nazywa?
miłe ... nie wiedział o tym, choć unikam go jak diabli. –
Och, człowieku, znam ten rodzaj kodu bardzo dobrze: "( – GETah
Dziękuję za to, ale tak naprawdę szukam nazwy dla opisanej sytuacji powrotu, kod strzałki raczej wchodzi w grę, jeśli chodzi o (wspomniane) wiele poziomów wcięcia. – mdo