Skip to main content

Lineamientos | Nombramiento de Componentes

Lineamientos: Nombramiento de Componentes

Todos los archivos Java que representan componentes dentro de la arquitectura del sistema deben seguir las siguientes convenciones de nombrado:

1. Interfaces:

Formato: I<Dominio><Tipo>.java

  • Prefijo: Se debe utilizar I (letra "I" mayúscula).
  • Dominio: Se debe describir el área funcional o entidad principal con la que la interfaz está relacionada (ej. User, Order, Product). Debe comenzar con mayúscula y seguir la convención PascalCase.
  • Tipo: Se debe indicar el rol o la responsabilidad de la interfaz dentro del dominio (ej. Service, Facade, Repository). Debe comenzar con mayúscula y seguir la convención PascalCase.
info

Ejemplos:

  • IUserService.java
  • IUserFacade.java
  • IUserRepository.java

2. Implementaciones:

Formato: <Dominio><Tipo>Impl.java

  • Dominio: Se debe utilizar el mismo valor utilizado en el nombre de la interfaz correspondiente. Debe comenzar con mayúscula y seguir la convención PascalCase.
  • Tipo: Se debe utilizar el mismo valor utilizado en el nombre de la interfaz correspondiente. Debe comenzar con mayúscula y seguir la convención PascalCase.
  • Sufijo: Se debe utilizar Impl (indica que es una clase de implementación).
info

Ejemplos:

  • UserServiceImpl.java
  • UserFacadeImpl.java
  • UserRepositoryImpl.java

3. Clases:

Formato: <Dominio><Tipo>.java

  • Dominio: Se debe describir el área funcional o entidad principal con la que la clase está relacionada (ej. User, Order, Product). Debe comenzar con mayúscula y seguir la convención PascalCase.
  • Tipo: Se debe indicar el rol o la naturaleza de la clase dentro del dominio (ej. TO (Transfer Object), VO (Value Object), Controller, Enum, Utils). Debe comenzar con mayúscula y seguir la convención PascalCase.
info

Ejemplos:

  • UserTO.java
  • UserVO.java
  • UserController.java
  • RoleEnum.java
  • UserUtils.java
warning

Consideraciones Adicionales:

  • Se deben utilizar nombres descriptivos y concisos para el Dominio y el Tipo.
  • Se debe mantener la consistencia en la aplicación de estos lineamientos en todo el proyecto.
  • Para acrónimos en el Dominio o Tipo (ej. HTTP), se deben mantener en mayúsculas (ej. IHTTPService).
  • En el caso de clases de utilidad (Utils), se debe ser específico sobre su función si es posible (ej. StringUtils en lugar de solo Utils).