Curso de Clean Code en Java: mejora la calidad de tu código (Programa detallado)

Objetivo:

Dotar de las competencias necesarias para escribir código limpio, eficiente y de alta calidad en Java, siguiendo las mejores prácticas de la industria.

A través de un enfoque práctico y teórico, aprenderás a aplicar principios de Clean Code, organizar y gestionar proyectos de desarrollo, manejar errores y realizar logging de manera efectiva, implementar pruebas unitarias y refactorizar el código.

Al finalizar el curso, estarás capacitado para desarrollar software robusto y mantenible, mejorando significativamente tu capacidad profesional y transformando para siempre tu enfoque hacia la programación tanto en Java como en cualquier otro lenguaje de programación.

Dirigido a:

Desarrolladores de software, programadores, arquitectos de software, ingenieros de software, responsables de proyectos y técnicos de calidad de software que deseen mejorar la calidad de su código en Java. El curso también está dirigido a ingenieros de sistemas y administradores de bases de datos que trabajen en entornos Java y quieran mejorar sus habilidades de programación. Además, es ideal para profesionales en consultoras de TI, empresas de desarrollo de software, departamentos de tecnología de grandes corporaciones y startups tecnológicas que buscan actualizar sus habilidades y adoptar las mejores prácticas de Clean Code para crear proyectos más robustos y mantenibles.

Requisitos:

Es recomendable, aunque no imprescindible tener conocimientos básicos de programación. No es necesario tener experiencia previa en Java, ya que el curso comenzará desde lo más básico e irá introduciendo los conceptos y herramientas conforme sean necesarios. Todos los programas utilizados a lo largo del curso serán gratuitos y se proporcionarán instrucciones detalladas para su descarga e instalación.

PROGRAMA DEL CURSO

1.- Introducción al Clean Code

Objetivo

Proporcionar una introducción exhaustiva a los principios de Clean Code y preparar el entorno de desarrollo para trabajar con Java. Al finalizar esta unidad, serás capaz de comprender la importancia y los beneficios de escribir código limpio, y adquirirás las habilidades necesarias para instalar y configurar Java e IntelliJ IDEA, además de escribir y ejecutar un programa básico en Java ("Hola Mundo").

Contenido

  1. Introducción al Clean Code
    1. ¿Qué es Clean Code?
    2. Beneficios del código limpio
    3. Principios fundamentales del Clean Code
    4. Instalación de Java
    5. Instalación de IntelliJ IDEA
    6. Primer Proyecto en IntelliJ IDEA
    7. Primer programa Clean Code
    8. Resumen

2.- Nombres significativos

Objetivo

Al finalizar esta unidad, serás capaz de identificar y aplicar nombres significativos en variables, funciones, clases y otros elementos del código, conocerás y utilizarás convenciones de nomenclatura, y analizarás ejemplos de buenas prácticas de nomenclatura en proyectos Open Source. Además, discutirás y propondrás buenas prácticas sobre el uso del inglés y/o español en el código.

Contenido

  1. Nombres significativos
    1. Nombres de variables y constantes
    2. Nombres de métodos
    3. Nombres de clases y objetos
    4. Nombres de paquetes y módulos
    5. Convenciones de nomenclatura
    6. Ejemplos en proyectos Open Source
    7. Uso del inglés y/o español en el código
    8. Ejemplo práctico: refactorización de nombres
    9. Resumen

3.- Clases, paquetes y proyectos limpios

Objetivo

Al finalizar esta unidad, serás capaz de aplicar principios de diseño de clases limpias y responsabilidad única, organizar el código en paquetes limpios, estructurar proyectos de manera eficiente, configurar y gestionar dependencias con Maven, y proponer y aplicar una estructura de directorios modelo para proyectos Java.

Contenido

  1. Clases, paquetes y proyectos limpios
    1. Introducción
    2. Métodos limpios
    3. Diseño de clases limpias
    4. Paquetes y proyectos limpios
    5. Ejemplos de proyectos Open Source
    6. Ejemplo práctico
    7. Resumen

4.- Formato y estilo de código

Objetivo

Al finalizar esta unidad, serás capaz de aplicar prácticas recomendadas de formato y estilo de código, utilizar herramientas para formateo automático, y analizar y mejorar ejemplos de código basado en buenas y malas prácticas observadas en proyectos Open Source.

Contenido

  1. Formato y estilo de código
    1. Introducción
    2. Indentación y espacios en blanco
    3. Directrices para el uso de comentarios
    4. Estructura de archivos y paquetes
    5. Herramientas para formateo automático
    6. Ejemplo práctico
    7. Resumen

5.- Manejo de errores y logging

Objetivo

Al finalizar esta unidad, serás capaz de identificar y aplicar estrategias de manejo de errores, comparar el uso de excepciones y códigos de error, implementar prácticas efectivas de logging, y analizar ejemplos de manejo de errores y logging en proyectos Open Source.

Contenido

  1. Manejo de errores y logging
    1. Manejo de errores
    2. Logging
    3. Ejemplo práctico
    4. Resumen

6.- Comentarios y documentación

Objetivo

Al finalizar esta unidad, serás capaz de saber cuándo y cómo usar comentarios y documentación, conocer herramientas para generar documentación como Javadoc, mantener la documentación actualizada, y analizar ejemplos de buenas prácticas de comentarios y documentación en proyectos Open Source.

Contenido

  1. Comentarios y documentación
    1. ¿Cuándo comentar el código?
    2. Malas prácticas al documentar
    3. Documentación en Java
    4. Documentación de APIs y módulos
    5. Decálogo para una documentación limpia
    6. Ejemplo práctico
    7. Resumen

7.- Pruebas unitarias, cobertura y TDD

Objetivo

Al finalizar esta unidad, serás capaz de comprender la importancia de las pruebas unitarias y la cobertura de código, aplicar principios de TDD, utilizar herramientas y frameworks de pruebas como JUnit, medir la cobertura de código con herramientas como Jacoco, y analizar ejemplos de buenas prácticas de pruebas unitarias en proyectos Open Source.

Contenido

  1. Pruebas unitarias, cobertura y TDD
    1. Introducción a las pruebas unitarias
    2. Herramientas y frameworks de pruebas
    3. Mantenimiento de pruebas
    4. Cobertura de código
    5. Ejemplo práctico
    6. Resumen

8.- Refactorización y análisis de calidad

Objetivo

Al finalizar esta unidad, serás capaz de conocer y aplicar técnicas de refactorización, utilizar herramientas como SonarQube para análisis estático de código, comprender y reducir la complejidad ciclomática, aplicar principios de calistenia de objetos, y analizar ejemplos de refactorización y análisis estático en proyectos Open Source.

Contenido

  1. Refactorización y análisis de calidad
    1. ¿Qué es la refactorización?
    2. Indicadores de código que necesita refactorización
    3. Técnicas comunes de refactorización
    4. Refactorización segura con pruebas
    5. Herramientas para la refactorización (IntelliJ IDEA)
    6. Introducción a SonarQube y análisis estático de código
    7. Calistenia de objetos
    8. Complejidad ciclomática
    9. Ejemplo práctico
    10. Resumen

9.- Patrones de diseño, antipatrones y principios SOLID

Objetivo

Al finalizar esta unidad, serás capaz de conocer y aplicar patrones de diseño estructurales y de comportamiento, identificar y solucionar antipatrones de diseño, comprender y aplicar los principios SOLID, y analizar ejemplos de patrones y antipatrones en proyectos Open Source, aplicándolos en proyectos reales.

Contenido

  1. Patrones de diseño, antipatrones y principios SOLID
    1. Introducción a los patrones de diseño
    2. Principios SOLID
    3. Antipatrones de diseño: identificación y solución
    4. Antes de terminar...
    5. Ejemplo práctico
    6. Reflexión final: la IA y el futuro de la programación