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ónPascalCase. - 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ónPascalCase.
info
Ejemplos:
IUserService.javaIUserFacade.javaIUserRepository.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.javaUserFacadeImpl.javaUserRepositoryImpl.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ónPascalCase. - 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ónPascalCase.
info
Ejemplos:
UserTO.javaUserVO.javaUserController.javaRoleEnum.javaUserUtils.java
warning
Consideraciones Adicionales:
- Se deben utilizar nombres descriptivos y concisos para el
Dominioy elTipo. - Se debe mantener la consistencia en la aplicación de estos lineamientos en todo el proyecto.
- Para acrónimos en el
DominiooTipo(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.StringUtilsen lugar de soloUtils).