Capítulo 20. No varíes tus variables
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Steve Freeman
Intento que el mayor número posible de variables sean final porque me resulta más fácil razonar sobre código inmutable. Me simplifica la vida a la hora de codificar, lo cual es una gran prioridad para mí: he pasado demasiado tiempo intentando averiguar exactamente cómo cambia el contenido de una variable a lo largo de un bloque de código. Por supuesto, el soporte de Java para la inmutabilidad es más limitado que el de otros lenguajes, pero aún hay cosas que podemos hacer.
Asignar una vez
He aquí un pequeño ejemplo de una estructura que veo por todas partes:
Thing thing;
if (nextToken == MakeIt) {
thing = makeTheThing();
} else {
thing = new SpecialThing(dependencies);
}
thing.doSomethingUseful();
Para mí, esto no expresa de forma irrevocable que vamos a establecer el valor de thing antes de utilizarlo y no volver a cambiarlo. Me lleva tiempo recorrer el código y darme cuenta de que no será null. También es un accidente a punto de ocurrir cuando necesitamos añadir más condiciones y no acabamos de entender la lógica. Los IDE modernos advertirán sobre algo no establecido, pero muchos programadores ignoran las advertencias. Una primera solución sería utilizar una expresión condicional:
final var thing = nextToken ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access