• Formas de reducir el código de las clases POJO de Java

    java planeta-codigo programacion

    La clases POJO o beans de Java son clases que en su mayor parte únicamente tiene la definición de sus propiedades. En Java al ser un lenguaje que promueve el ser explícito requiere definir mucho código que aporta poco valor. Cuando el número de estas clases simples es grande el código aún siendo simple se convierte en un problema de mantenimiento. Las librerías Immutables, Lombok y los records de Java incorporados en la versión 14 permite reducir en gran medida esa cantidad de código, mantener la consistencia y adicionalmente proporcionar clases que implementan el patrón Builder.
    Continuar leyendo...

  • Obtener información de la pila de las excepciones

    java planeta-codigo programacion

    Java

    Las excepciones son un mecanismo incorporado en algunos lenguajes como Java para el manejo de errores y condiciones de error. En la implementación de las excepciones en los lenguajes hay diferencias, por ejemplo, en Java hay excepciones checked y unchecked y en lenguajes como C# o Groovy todas las excepciones son consideradas unchecked. En cualquier caso son una mejor forma de forzar a gestionar las condiciones de error que se producen que el comprobar no obligatoriamente el valor de retorno de una función, incluso JavaScript incorpora excepciones.


    Continuar leyendo...

  • Las excepciones para gestionar errores en Java

    java planeta-codigo programacion

    Java

    En la ejecución de los programas se pueden producir numerosas condiciones de error, algunas condiciones son un dato con un formato inesperado como una letra cuando se espera un número o fallos en la entrada o salida al trabajar con archivos o comunicación por red si un archivo que se quiere utilizar en realidad no existe en el sistema de archivos o el servidor no está disponible en la comunicación por red, estos son solo unos pocos ejemplo de errores posibles en un programa. Pero hay muchas otras condiciones de error que se puedan producir para las que un programa ha de estar preparado.


    Continuar leyendo...

  • Obtener el mínimo o máximo de dos, una lista o stream de valores en Java

    java planeta-codigo programacion

    Java

    Si tenemos dos valores y queremos obtener el menor con una línea de código, podemos obtenerlo con un a sentencia if o con el operador condicional ? :. Si queremos obtener el menor de tres valores con sentencias if o el operador ? : el problema aparentemente sencillo se complica y si optamos por usar una lista de valores tratándola como si el tamaño fuese desconocido quizá usemos un bucle for junto con una variable que mantenga el menor valor encontrado hasta el momento usando un if que compare el valor menor encontrado con el valor actual de la lista.


    Continuar leyendo...

  • Ejemplo con el cliente HTTP/2 de Java

    java planeta-codigo programacion

    Java

    Otra de las nuevas funcionalidades incluidas en Java 9 aunque en modo incubación e incorporado en Java 11 de forma estable es el cliente con soporte para HTTP/2 para realizar peticiones a recursos usando este protocolo más eficiente y rápido. Al mismo tiempo se ha simplificado el código necesario para realizar una petición y obtener el resultado de una URL. También se ha añadido la funcionalidad de realizar peticiones asíncronas y creación de conexiones de WebSockets.


    Continuar leyendo...

  • Evitar niveles de anidación de sentencias condicionales con guard clauses

    java planeta-codigo programacion

    Java

    Al escribir el código de un método es habitual hacer algunas comprobaciones sobre los parámetros, por ejemplo, para comprobar que el parámetro tiene una referencia, si es nulo o cumple alguna condición, si es una lista que no esté vacía o para validar mediante alguna otra regla. Estas validaciones o aserciones se realizan al inicio del método con sentencias if que añaden un nivel de tabulación al código si se anidan. Estos niveles de tabulación con sentencias if anidadas hacen poco legible el código.


    Continuar leyendo...

  • La triste realidad de Java, versiones antiguas

    java planeta-codigo opinion

    Java

    Algunos desarrolladores que utilizan el lenguaje de programación Java desearían que el tiempo que pasa entre publicación de una nueva versión y la siguiente fuese menor. Las nuevas versiones incorporan modificaciones en el lenguaje y en la API que facilitan el trabajo de los desarrolladores haciendo que escriban menos líneas de código, haciendo que el código fuente sea más legible que al final redunda en software con menos bugs, con más funcionalidades, un tiempo de desarrollo menor y con menos costes.


    Continuar leyendo...

  • JShell la herramienta REPL incorporada en Java 9

    java planeta-codigo programacion

    Java

    Una de las novedades de Java 9 es la incorporación de una herramienta Read-Evaluation-Print-Loop o REPL similar a las disponibles en otros lenguajes dinámicos para permitir evaluar pequeños ejemplos de código, hacer pruebas o como herramienta para alguien que esté aprendiendo a programar sin la necesidad de utilizar un entorno integrado de desarrollo, una herramienta de construcción y los varios archivos y comandos necesarios para compilar y ejecutar el código Java.


    Continuar leyendo...

  • Cambiar y personalizar los estilos de la documentación Javadoc

    java planeta-codigo programacion

    Java

    La documentación generada por la herramienta Javadoc se puede adaptar a las necesidades propias ya que tiene mecanismos para extenderla. Crear un taglet propio es una forma pero también se pueden modificar los estilos aplicados al HTML generado, por ejemplo, para adaptar el Javadoc a los colores de la organización o para incluir un logotipo en la cabecera o un texto en el pie de página.

    El comando javadoc con el que se genera la documentación posee opciones para modificar la cabecera, el pie de página o usar una hoja de estilos propia. Estas opciones son -header, -footer y -stylesheetfile. Un punto de partida para modificar los estilos es usar la hoja de estilos generada por defecto, realizar en ella las modificaciones oportunas y finalmente indicar que se use con el opción -stylesheetfile.


    Continuar leyendo...

  • Crear anotaciones de Javadoc personalizadas con taglets

    java planeta-codigo programacion

    Java

    La herramienta de documentación es Javadoc de Java permite a partir del código fuente de un programa o librería generar un conjunto de documentos en formato HTML enlazados entre si consultables con un navegador web y accesibles desde internet si son accesibles con un servidor web. La documentación se genera a partir de las clases y métodos del código fuente y también a partir de los comentarios de las clases y métodos.


    Continuar leyendo...

  • Cómo generar la documentación Javadoc con Gradle

    java planeta-codigo programacion

    Java

    Habiendo explicado qué es la herramienta Javadoc, y en otros artículos como crear taglets para incluirlos en los comentarios y generar contenido con los mecanismos de extensión que ofrece y explicado como cambiar los estilos que se usan por defecto en el Javadoc para por ejemplo cambiar los colores según la organización o incluir un texto de derechos de autor en el pie de página, hay que generar la documentación javadoc usando la herramienta de construcción que usemos. En este artículo muestro como generar la documentación javadoc con Gradle.


    Continuar leyendo...

  • La herramienta de documentación Javadoc de Java

    java planeta-codigo programacion

    Java

    Programar y desarrollar requiere además de poseer diversos conocimientos disponer de una buena documentación de consulta y referencia. Una de las cosas buenas que me gustaron de Java cuando empecé a programar en este lenguaje, cuando aún estaba lejos de tener internet y aún me lo sigue pareciendo, fue su documentación Javadoc de toda la API de clases incluidas en el JDK.

    La documentación Javadoc es una colección de páginas HTML de todas las clases, métodos, parámetros y retornos junto con la información y especificaciones que quiera incluir el desarrollador de la API que en el caso de las clases de JDK incluye abundantes e interesantes detalles de implementación a tener en cuenta al usar las clases. El Javadoc es también es una herramienta de línea de comandos que permite generar la colección de páginas HTML a partir del código fuente Java.


    Continuar leyendo...

  • Los tipos de referencias débiles soft, weak y phantom en Java

    java planeta-codigo programacion

    Java

    Cuando un objeto ya no es alcanzable a través de ninguna referencia directa o cadena de referencias fuertes el objeto es seleccionable para reclamar su memoria y el recolector de basura o garbage collector de Java lo hace cuando estima oportuno, liberándonos a los programadores de esta tarea, simplificando el código y evitando fugas de memoria. El lenguaje Java le debe al recolector de basura entre otras varias cosas una buena parte de su éxito.


    Continuar leyendo...