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?
Creo que depende la sintaxis que use el programador, uno con experiencia no colocaría una variable que no se explique sola al leerser, es decir;
ResponderBorrarif (isValidToken) {}
Lo que ya indica que la variable es booleana o que power un flag booleano
Que opinan? - Opino que los lenguajes dinámicos son una rever3nda v3rga y no deberían existir. Y esto, junto con una tonelada de problemas similares, no existirían, por definición.
ResponderBorrar