El Zen de Python dice : Explicit is better than implicit o Explícito es mejor que implícito. Cosa que me ha dejado pensando porque no aplica siempre. Por ejemplo:
boolean b;
if (b == true) then: ...
b por defecto es false, pero no se lo estamos diciendo, en este caso yo particularmente prefiero ser explicito, es decir dejar claro cual es el valor de la variable:
boolean b = false
pero me choca y me disgusta (es que ya estoy viejo) el if , es como que el programador no tiene en cuenta que b es un dato. Y ese dato lo podemos comprobar, prefiero:
if (b) then: ...
Pero hay cosas implicitas en los lenguajes que a mi modo de ver las cosas, atentan contra la legibilidad.
El caso más fácil de ejemplificar es que valores de otros tipos sean false o true, eso hace más fácil a vida del experto pero sin duda no deja tan clara las cosas. Por ejemplo:
if (typeof(some_variable) != 'undefined' && some_variable != null)
{
// Do something with some_variable
}
por :
if (some_variable)
{
// Do something with some_variable
}
Claro que la ultima es más corto, pero que diablos hace? Si sabes javascript es fácil, pero lo puede entender todo el mundo?
Que opinan?