frecuente ver algo de código como éste cláusula de protección/error:Anti-patrón: rama else superfluo que contiene el manejo de
public void bla()
{
if (conditionTrue)
{
// long code here
} else {
// otherwise do nothing
return;
}
// some more code
}
La rama else, obviamente, es alguna cláusula de protección que se deslizó hacia abajo, la sangría para el código largo -section puede aplanarse:
public void bla()
{
if (!conditionTrue)
return;
// long code here
// some more code
}
Algunos expertos top esto adelante por los nidos de estas ramas superfluas si a 3, 4 o 5 niveles, creando código que es absolutamente difícil de leer.
sé de estos lugares alguna manera de tocar este tema:
- 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?
¿Se trata de un antipatrón llamado y, en caso afirmativo, cuál es su nombre?
agradable ... no sé nada de eso, aunque lo evito como el demonio. –
Oh, hombre, estoy muy familiarizado con este tipo de código: '( – GETah
Gracias por este, pero en realidad estoy buscando un nombre para la situación de devolución del else. El código de flecha entra en juego cuando se trata de (lo mencionado) múltiples niveles de sangría. – mdo