€170

Curso Refactoring a Clean Architecture en NestJS

€170

¿Cómo podemos aplicar Clean Architecture sobre una base de código legado?

Esta es una de las preguntas que más veces me han hecho en el curso de Clean Architecture que llevo impartiendo desde 2016.

Trasladar los conocimientos de Clean Architecture a una base de código legado no es sencillo. Tienes que tener conocimientos de testing, refactoring y por su puesto, muy claros los conceptos de Clean Architecture.

He planteado un ejercicio de refactoring en varias empresas con las que he colaborado, después de la formación de Clean Architecture. El resultado a la primera no suele ser muy bueno. Normalmente, lo tienen que repetir.

El código inicial consiste en una API Rest de código legado con todas las malas prácticas posibles. El objetivo refactorizarla a Clean Architecture.

Cuando me muestran su solución, lo primero que les pido antes de evaluar el código es que ejecuten la aplicación.

Les pido que validen manualmente si la API sigue funcionando igual que antes del refactor, el 90% de las veces han modificado el comportamiento.

La regla número 1 de refactoring: no modificar comportamiento.

En este punto hago ver que independientemente de lo bien o mal que este hecho el refactoring, si hemos modificado el comportamiento, el cliente no va a estar contento.

Posteriormente, cuando reviso el código, suele haber conceptos de Clean Architecture que no han sabido aplicar bien. Tratar de introducirlos sobre código legado incrementa la complejidad.

En alguna ocasiones, hay algunas personas que cuando me tienen que enseñar el ejercicio, ni les compila. Avanzando de la forma correcta, independientemente del tiempo del que dispongas, siempre tendrás avances estables.

Regla número 2 del refactoring: avanza en pasos pequeños que te permitan avanzar de forma segura.

Pequeños pasos, igual a pequeñas cagadas.

Lo importante es saber cómo dar esos pequeños pasos. Existen técnicas de refactoring que nos permiten hacerlo incluso en las circunstancias menos propicias.

Si vas haciendo pasos pequeños que vas guardando, cuando la cagada sea definitiva, vas a poder revertir al paso anterior donde los test funcionaban.


Tras el éxito de la version frontend, he creado este curso ahora en backend: Cómo refactorizar a Clean Architecture en NestJS.

Va a ser un curso totalmente práctico, donde me enfrentaré a un refactor usando NestJS y TypeScript.

Se utiliza MySQL y TypeORM como base de datos y ORM. Te doy todo preparado para levantarla usando Docker.

En el curso veremos cómo añadir tests para validar que no modificamos el comportamiento cuando tenemos que refactorizar una API como a la que me enfrento en el curso.

También veremos cómo van emergiendo cada una de las responsabilidades avanzando en pequeños pasos.

Además, veremos qué pasos son los más adecuados cuando nos enfrentamos a un refactor de este tipo.

La tecnología, junto con el estado del código, condiciona cómo afrontar el ejercicio: el refactor, la estrategia de testing y los pasos a dar. Durante el curso explico los motivos de todos los pasos según los voy dando.

Te cuento.


√  Aprenderás cómo convertir código legado en código fácil de mantener que te hará ahorrar tiempo, lidiar menos con errores y centrarte en lo importante.

√ Lo que aprendas te va a servir para cualquier lenguaje y tecnología, ahora y dentro de muchos años.

√  Te contaré el mayor error al hacer un refactor y te enseñaré a evitarlo. Siento decirte que, posiblemente, lo estés haciendo o lo pienses hacer.

√  Es un refactor de una API NestJS y TypeScript.

√  La primera parte del curso se centra en decidir la estrategia de testing y en escribir esa red de seguridad utilizando Jest, supertest.

√ Aprenderás un sistema para refactorizar a un código más fácil de mantener sin seguir los ejemplos del framework.

√  Verás cómo cubrir previamente el código con una red de seguridad de tests. De forma que nos avise si cambiamos el comportamiento o introducimos un bug al hacer cambios en el código.

√ Verás qué partes son importantes de probar en una API como a la que me enfrento.

√  Verás cómo resuelvo un refactor de forma segura y con avances estables que sorprenderá hasta al manager más anti testing que puedas tener.

√  Verás cuál es la parte más critica y la primera a realizar para evitar acoplamientos con librerías y frameworks. Y como se hace.

√  Aprenderás cómo enfocar un refactor poco a poco teniendo el superpoder de volver atrás al último momento donde todo funcionaba sin perder a penas trabajo realizado.

√  Evitarás uno de los errores más habituales al escribir tests

√ Aprenderás dos estrategias diferentes para crear escenarios de prueba y cuándo usar cada una.

√ Te enseñaré cómo implementar 3 niveles de feedback y porque es tan importante

√ Te enseñaré cómo, dónde y cuándo, integrar la IA en un refactor de este estilo. Potenciándonos gracias a ella pero manteniendo la misma filosofía de hacer un refactor seguro.


¿Qué incluye?

Imagínate que tenemos una tarea de hacer un refactor. Tenemos 8 horas por delante, 8 horas donde te explico cómo enfocarlo y por qué.

8 horas donde te voy explicando paso a paso todo lo que voy haciendo.

Imagina 8 horas de trabajar conmigo haciendo pair programming.

Esa es la sensación que tiene quien ya ha comprado el curso y lo ha terminado.

¿Cómo es el material?

Hay 61 capítulos.

Durante estos 61 capítulos te vas a encontrar con contenido en texto y todos los cambios de código que voy introduciendo para que puedas copiar y pegar, si quieres.

En la mayoría de capítulos te vas a encontrar un video. En algunos capítulos es un audio.

Además, podrás descargar el código inicial y el final resuelto por mí.

¿A quién está dirigido este curso?

A personas que tienen claros los conceptos de Clean Architecture, pero:

  • Les cuesta trasladarlos en su día a su base de código legado.
  • No saben cómo aplicar estos conceptos en NestJS.

¿Explicas Clean Architecture en este curso?

No, este curso no está pensado para personas que no conocen Clean Architecture.

No verás una presentación de teoría. Es un ejercicio avanzado totalmente práctico donde voy argumentando todos los pasos que doy, pero asumiendo que se tiene conocimientos de Clean Architecture.

Voy explicando todo el refactor que voy haciendo paso a paso, pero asumo que ya conoces los conceptos de Clean Architecture.

Para aprender sobre Clean Architecture desde cero te recomiendo este curso mío: Clean Architecture

¿Explicas testing en este curso?

No, es necesario que tengas unos mínimos conocimientos sobre testing para seguir el curso.

Simplemente, explicó el motivo de la estrategia de testing que sigo pero no explico las bases del testing, tipos de test, dobles de test y muchos otros conceptos de testing.

¿Explicas refactoring en este curso?

No, es un ejercicio práctico donde explico algunos conceptos, los pasos que voy dando y la importancia de que sean pequeños.

Hay muchas estrategias de refactoring que no son necesarias en el refactor que aplicó y no las explico.

¿Tiene garantía de devolución?

En ningún caso. Esto es como los restaurantes, comes, pagas y si no te ha gustado no vuelves.

This product is not currently for sale.
Watch link provided after purchase

Curso práctico de refactorización de código legado a Clean Architecture en NestJs

Powered by