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
- Introducción al Clean Code
- ¿Qué es Clean Code?
- Beneficios del código limpio
- Principios fundamentales del Clean Code
- Instalación de Java
- Instalación de IntelliJ IDEA
- Primer Proyecto en IntelliJ IDEA
- Primer programa Clean Code
- 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
- Nombres significativos
- Nombres de variables y constantes
- Nombres de métodos
- Nombres de clases y objetos
- Nombres de paquetes y módulos
- Convenciones de nomenclatura
- Ejemplos en proyectos Open Source
- Uso del inglés y/o español en el código
- Ejemplo práctico: refactorización de nombres
- 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
- Clases, paquetes y proyectos limpios
- Introducción
- Métodos limpios
- Diseño de clases limpias
- Paquetes y proyectos limpios
- Ejemplos de proyectos Open Source
- Ejemplo práctico
- 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
- Formato y estilo de código
- Introducción
- Indentación y espacios en blanco
- Directrices para el uso de comentarios
- Estructura de archivos y paquetes
- Herramientas para formateo automático
- Ejemplo práctico
- 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
- Manejo de errores y logging
- Manejo de errores
- Logging
- Ejemplo práctico
- 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
- Comentarios y documentación
- ¿Cuándo comentar el código?
- Malas prácticas al documentar
- Documentación en Java
- Documentación de APIs y módulos
- Decálogo para una documentación limpia
- Ejemplo práctico
- 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
- Pruebas unitarias, cobertura y TDD
- Introducción a las pruebas unitarias
- Herramientas y frameworks de pruebas
- Mantenimiento de pruebas
- Cobertura de código
- Ejemplo práctico
- 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
- Refactorización y análisis de calidad
- ¿Qué es la refactorización?
- Indicadores de código que necesita refactorización
- Técnicas comunes de refactorización
- Refactorización segura con pruebas
- Herramientas para la refactorización (IntelliJ IDEA)
- Introducción a SonarQube y análisis estático de código
- Calistenia de objetos
- Complejidad ciclomática
- Ejemplo práctico
- 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
- Patrones de diseño, antipatrones y principios SOLID
- Introducción a los patrones de diseño
- Principios SOLID
- Antipatrones de diseño: identificación y solución
- Antes de terminar...
- Ejemplo práctico
- Reflexión final: la IA y el futuro de la programación