Tecnología - Arquitectura SOA - Parte I. Mejores prácticas para Codificación en JAVA...
Estás implementando una Arquitectura SOA, donde sus componentes son Open Source? Entonces debes conocer las mejores prácticas para codificar en JAVA Parte I
7/15/20254 min leer


Cuando se desarrolla en JAVA es importante conocer las mejores prácticas para hacerlo, ya que es importante cuidar la calidad del código.
El objetivo de utilizar las mejores practicas de codificación es generar código que sea fácil de mantener y que su codificación tenga lo mínimo en BUGS.
El marco regulatorio sobre el cual se basan la mejores practica es el IS-05-0059 - System Standard for Secure Coding Practices.
Algunos conceptos que debemos tener en mente son:
1. API. La interfaz de programación de aplicaciones, abreviada como API (del inglés: Application Programming Interface), es el conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción
2. Classpath. Variable de entorno que indica a la Máquina Virtual de Java dónde buscar paquetes y clases definidas por el usuario a la hora de ejecutar programas
3. Función Hash. Una función hash H es una función computable mediante un algoritmo que regresa un valor discreto
4. Generic. Facilidad que otorga Java para realizar porgramación genérica, permiten que "un tipo o método" para operar con objetos de varios tipos (clases) al tiempo que proporciona en tiempo de compilación seguridad en el manejo de los tipos.
5. Javadoc. es una utilidad de Oracle para la generación de documentación de APIs en formato HTML a partir de código fuente Java. Javadoc es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan automáticamente.
6. Log. Bitacora
7. Runtime. Tiempo de ejecución de un programa o aplicación
8. Wrapper. Wrapper (empaquetador), es un término inglés que generalmente se refiere a un tipo de embalaje, tal como una hoja plana de papel, celofán o plástico para envolver un objeto.
Codificación Java
Idiomas - Idioma del código.
En el código se usará el idioma inglés por las siguientes razones: 1. Simplificación de nombres al usar el género neutro.
2. Menor ambigüedad en el uso de tiempos verbales.
3. Integración con librerías estándar y foráneas.
Idioma de comentarios y logs.
En los comentarios y mensajes de log se usará el idioma español por las siguientes razones:
Es el idioma común de usuarios, administradores y desarrolladores.
Facilita el diagnóstico de errores por parte de los responsables de soporte técnico a la aplicación o sistema.
Elementos de programa.
A continuación se define la nomenclatura de paquetes, interfaces, clases, atributos, métodos y variables a utilizar en código Java.
Paquetes .
Los nombres deben escribirse con minúsculas.
Deben de comenzar con el nombre del dominio, de manera inversa, y continuar de manera libre de acuerdo a funcionalidad, organización de equipos, etc.
Interfaces
Los nombres de interfaces deben seguir las siguientes reglas:
1. Si la interface indica comportamiento en términos de capacidad o habilidad debe usar el sufijo able.
Ejemplo: Clonable, Comparable
2. Si la interface indica un tipo de objeto, el nombre debe ser un sustantivo en singular.
Ejemplo: Recipe, SaleProduct
3. El nombre debe indicar claramente la función, categoría o capa de la interface; es decir, el nombre debe de terminar con esa función o categoría (un servicio debe de acabar en Service, una interface de acceso a base de datos DAO, una interface de constantes en Constants, etc.):
Ejemplo: ProductService, ProductDAO, ProductConstants
Clases
Los nombres de clases deben seguir las siguientes reglas:
1. Los nombres de clases concretas deben ser sustantivos, normalmente denominando entidades o actores, en número singular.
Los nombres de clases que implementen una interface tipo deben usar el sufijo Impl u otro sufijo relacionado con el tipo.
Atributos y variables
Los atributos y variables deben cumplir con las siguientes reglas:
1. Todas las variables deben comenzar con minúscula. Si hay una palabra interna, comenzará con mayúscula (Notación camello). Los nombres de variables no deben comenzar con números, ‘_’ o ‘$’.
2. Los nombres de las variables deben ser cortos pero significativos, de tipo nemónico, es decir, que sugiera al lector cuál es su uso.
3. No deben utilizarse abreviaciones a menos que sean de uso común (ejemplo: URL)
4. Los nombres de un solo carácter deben evitarse a menos que se trate de variables con poco uso, tales como contadores. Nombres comunes para este tipo de variables son: i, j, k, m y n para enteros; c, d y e para caracteres.
5. Los atributos que se refieran a arreglos o colecciones de objetos deben usar el número plural del tipo de referencia.
Constantes
Los nombres de las constantes cumplirán con el criterio de nombrado de variables, pero se escribirán únicamente con mayúsculas
Ejemplos:
public static final int FALSE = 0; public static final int TRUE = 1;
Métodos
Los nombres de los métodos deben ser verbos en primera forma. Use minúsculas al inicio del nombre y mayúsculas con las palabras internas subsecuentes (notación Camello).
Ejemplos:
public void run() public int jumpHigh()
Formato de codificación
El código de cada programa se divide en las siguientes secciones:
a. Declaración del paquete.
b. Sentencias import.
c. Comentarios iniciales.
d. Declaraciones de clases e interfaces
1. Declaración del paquete . La primera línea que no sea comentario del código debe ser la declaración del paquete.
Ejemplo: package mx.com.ejemplo.commons.model;
Sentencias import
Optimizar la definición de paquetes indicando sólo los objetos a utilizar. Evitar la definición de todos los objetos de un paquete (utilizando *) y la definición de un objeto indicando el paquete al que pertenecen.
Ejemplo:
import java.util.List; import mx.com.ejemplo.manager.NotificacionManager;