Mensaje de Java-14 captador / definidor convención de nomenclatura

vbezhenar:

Java 14 introdujo los registros de características. Registro crea captador con el mismo nombre que el campo, por lo que uno escribiría print(person.name())por ejemplo. Pero dictados de convenciones frijol viejos Java que se deben nombrar a este método como getName().

El uso de ambos estilos en la misma base de código no se ve muy bonito. La migración de todo lo que los registros no es posible, ya que son demasiado limitados para reemplazar todos los casos de uso.

¿Hay algún oficial o directrices semioficiales cómo a nombre captadores y definidores de Java después de 14 en el nuevo código?

Chris T:

Cita de PEC 359 :

No es un objetivo de declarar "guerra contra el repetitivo"; en particular, no es una meta para hacer frente a los problemas de las clases mutables utilizando las convenciones de nomenclatura de JavaBeans.

Mi opinión, basada en el mismo documento es que los registros son transparent holders for shallowly immutable data.

Habiendo dicho eso:

  1. Los registros no son el lugar para buscar getters / setters azúcar sintácticas, ya que no pretenden sustituir JavaBeans.
  2. Estoy muy de acuerdo con usted en que JavaBeans son demasiado prolijo. Tal vez una característica adicional (llamado frijoles en lugar de registros ) podría implementarse - comportamiento muy similar con los registros característica, pero que permitiría la mutabilidad. En ese caso, los registros y los granos no serían mutuamente excluyentes.
  3. Como se ha mencionado, los registros están en vista previa modo. Veamos lo que sería la retroalimentación de la comunidad.

Con todo, en mi humilde opinión que son un paso adelante ... Me escribió este ejemplo set donde se puede ver una reducción de código a ~ 15% LOC de JavaBeans estándar.

Además, tenga en cuenta que records behave like normal classes: they can be declared top level or nested, they can be generic, they can implement interfaces(desde el mismo documento). En realidad se puede en parte JavaBeans Simular (sólo captadores tendría sentido, sin embargo) mediante la extracción de una interfaz que contiene los captadores - sin embargo, que habría una gran cantidad de trabajo y no una solución muy limpia ...

Por lo tanto, en base a la lógica anterior, para hacer frente a su pregunta, no - No he visto ninguna (semi) guía oficial de captadores y definidores y no creo que hay una motivación para que en este momento porque, de nuevo, los registros no son un reemplazo para JavaBeans ...

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=477230&siteId=1
Recomendado
Clasificación