Los registros
Sustituir cien líneas generadas por una declaración de una sola línea, y saber cuándo abstenerse.
Los registros: clases de datos sin código generado
Abra cualquier proyecto Java 8 y busque una clase Point, Adresse o LigneCommande. Encontrará tres campos útiles ahogados en ciento veinte líneas que nadie ha escrito a mano: un constructor, seis métodos de acceso, un equals generado por el IDE, un hashCode a juego y un toString. Ese código no expresa nada. Sin embargo, está versionado, se revisa en las code reviews y, sobre todo, miente en cuanto se añade un cuarto campo sin regenerar equals. El error que resulta —dos objetos idénticos que el HashMap trata como distintos— es de los más largos de diagnosticar, porque el código defectuoso parece correcto.
Un registro elimina ese riesgo eliminando el código. Usted declara la lista de componentes; el compilador produce el resto y lo regenera automáticamente el día que añade un campo. No es solo un ahorro de escritura: es una declaración de intenciones. Un registro le dice a quien lee el código que ese objeto es un dato transparente e inmutable, definido íntegramente por sus componentes, y no un objeto con comportamiento cuya identidad importa.
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión