De hecho, me inclinaría a ofrecer una respuesta diferente de la explicación "es ambigua" proporcionada por varios otros (aunque estoy de acuerdo con esa respuesta también):
Personalmente, me gusta minimizar la anidación en mi código, ya que (para mí) cuanto más código de llaves tiene, más difícil es seguirlo.
Por lo tanto me gustaría mucho prefieren este (por ejemplo):
public bool DoSomethingWithString(string s) {
if (string.IsNullOrEmpty(s))
return false;
// here's the important code, not nested
}
a esto:
public bool DoSomethingWithString(string s) {
if (!string.IsNullOrEmpty(s)) {
// here's the important code, nested
} else {
return false;
}
}
Este es un escenario bastante específica (donde un/cadena nula vacío solicita una salida inmediata) y claramente no es la forma en que un método que usa IsNullOrEmpty
siempre estaría estructurado; pero creo que en realidad es bastante común.
Creo que los métodos con resultado booleano deberían ser "positivos" en el sentido de que deberían usar "Es ..." en lugar de "No ... "... solo una idea de por qué es así. – Joey
@Johannes, sí ... ¡definitivamente positivo! –
¿Por qué MS cree que es necesario agregar un exceso de hinchazón? Ugh ... –