CursosWorkshop IAEmpresasPreciosBlogNewsletter
  • Cursos
  • Workshop IA
  • Empresas
  • Precios
  • Blog
  • Newsletter
Suscríbete
  • Cursos
  • Empresas
  • Comunidades
  • Blog
  • Tarjeta regalo
  • Newsletter
  • Soporte
  • Tienda
  • ConfAiBot
  • Contacta
  • Aviso legal
  • Condiciones generales
  • Política de privacidad
  • Política de cookies

Curso de Refactoring de Code Smells a Clean Code: Bloaters

Lite
Rafa GómezJavier Ferrer

Por Rafa Gómez y Javier Ferrer – Diseño y Arquitectura de Software y Metodologías y buenas prácticas

Aprende a detectar y lidiar con código incomprensible 🤟

Ir al curso

💸 Primera lección disponible sin registro 💸

Qué aprenderás en este curso de Refactoring y Código Limpio

¿La calidad del código es algo medible? ¿Cómo podemos decidir si un código es mejor que otro? 🤔

En este curso aprenderás a identificar objetivamente aquellos aspectos que hacen que tu código sea difícil de mantener, y lo más importante, qué procesos aplicar para mejorarlo.

Mucho se ha escrito sobre las técnicas para pasar de código incomprensible a código limpio. Esto es lo que veremos en términos de técnicas de Refactoring para pasar de Code Smells a Clean Code 😊

En este curso vamos a ver cómo llevarlo a la práctica paso a paso con ejemplos en múltiples lenguajes de programación 🤟

Consigue programas de calidad aplicando buenas prácticas de refactoring y código limpio 💪

Contenido del curso

  1. 🚀 Clean Code y Refactorings ¿Qué aprenderás en el curso?
    • ⚡️ Cómo se genera la deuda técnica: Pasando de Code Smells a Clean Code a través de Refactorings
    • 🤔 Muerte por deuda técnica: Cuándo refactorizar (Caso Evernote)
  2. 🐍 Long Method Code Smell
    • 🕵️ Long method: Detección, problemas y estado ideal
    • 🤹 Refactor Extract Method ayudándonos del IDE y problemas relacionados
    • 💿 Jugando a ser puristas: Contiene trazas de programación funcional
  3. 📜 Large Class Code Smell
    • 🕵️ Large Class: Detección, problemas y estado ideal
    • ✋ Qué Refactoring NO hacer: Un gran poder conlleva una gran responsabilidad (única)
    • 🤝 Extract Class Refactoring: Encapsulando responsabilidades
  4. 🐒 Primitive Obsession Code Smell
    • 🕵️ Cuándo usar clases para representar datos y cuándo no
    • 🧲 Replace Data Value with Object: Value Objects como imanes de lógica para tus modelos
    • 🚸 Replace Type Code with State/Strategy Refactoring: Respetando SOLID en tus modelos de dominio
  5. 📐 Long Parameter List Code Smell
    • 🌈 Mejorando El Mundo Real™️: Introduce Parameter Object. Refactoring para entidades con más de 20 atributos
    • ⚙️ Cómo gestionar parámetros de aplicación: Replace Parameter with Method Call Refactoring
    • 🤯 Preserve Whole Object Refactoring: Respetando lenguaje ubicuo
  6. 🥖 Data Clumps Code Smell
    • 🌍 Comunicación entre capas: Introduce Parameter Object Refactoring para objeto Request
    • 🎛️ Cómo gestionar configuración de infraestructura
  7. 🔗 Complex Conditionals Code Smell
    • 🔥 Simplificando niveles de indentación: Replace Nested Conditional with Guard Clauses Refactoring
    • ⛓️ Simplificando niveles de indentación: Replace Control Flag with Break Refactoring
    • 👨‍👧‍👧 Trasladando reglas de integridad con semántica de dominio a condicionales: Decompose Conditional & Consolidate Conditional Expression Refactoring
    • 👻 Representando información opcional: Introduce Null Object vs Maybe Monad
  8. 🌍 Ejemplos prácticos para El Mundo Real™️: ¡Uniendo las piezas!
    • 👤 Refactorizando La Clase User™️: De 💩 a ☀️
    • ✨ Qué pasa cuando no hay clases: JavaScript te miro a ti
    • 👀 Análisis de vuestros ejemplos
  9. 🔜 Conclusiones y siguientes pasos
    • ⚡️ Conclusiones y siguientes pasos

Contenido gratis

En la sección "Preview" de arriba puedes acceder al índice del curso y ver los primeros 2 vídeos totalmente gratis y sin necesidad de registrarte.

Nos hemos esforzado mucho en preparar este curso, con lo que puedes comprobar por ti mismo la calidad de los vídeos y temas que tocaremos 😊

Vídeos del curso

  • ⚡️ Cómo se genera la deuda técnica: Pasando de Code Smells a Clean Code a través de Refactorings
  • 🤔 Muerte por deuda técnica: Cuándo refactorizar (Caso Evernote)
  • ¡Repasemos!

  • 🕵️ Long method: Detección, problemas y estado ideal
  • 🤹 Refactor Extract Method ayudándonos del IDE y problemas relacionados
  • 💿 Jugando a ser puristas: Contiene trazas de programación funcional
  • ¡Repasemos!
  • ¡A practicar! Refactorizando tus long methods

  • 🕵️ Large Class: Detección, problemas y estado ideal
  • ✋ Qué Refactoring NO hacer: Un gran poder conlleva una gran responsabilidad (única)
  • 🤝 Extract Class Refactoring: Encapsulando responsabilidades
  • ¡Repasemos!
  • ¡A practicar! Refactoring de Large Class

  • 🕵️ Cuándo usar clases para representar datos y cuándo no
  • 🧲 Replace Data Value with Object: Value Objects como imanes de lógica para tus modelos
  • ¡Repasemos!
  • ¡A practicar! Extrayendo Value Objects

  • 1️⃣ Replace Type Code with State o Strategy Refactoring Code Smell y estado deseado
  • 2️⃣ Preparando el quirófano desinfección de la zona
  • 3️⃣ Modelando clase Type: ¡Bisturí!
  • 4️⃣ Limpiando los pasos intermedios del refactoring
  • 5️⃣ Resumen del refactor y estado final
  • ¡Repasemos!
  • ¡A practicar! Aplicando State/Strategy Pattern

  • 🌈 Mejorando El Mundo Real™️: Introduce Parameter Object. Refactoring para entidades con más de 20 atributos
  • 💼 Casos de El Mundo Real™️: Relaciones complejas
  • ¡Repasemos!
  • ¡A practicar! Simplifica la firma del método

  • 🤯 Preserve Whole Object Refactoring: Respetando lenguaje ubicuo
  • 📞 Tell don't ask: Fomentando la cohesión
  • ⚙️ Cómo gestionar parámetros de aplicación: Replace Parameter with Method Call Refactoring
  • ¡Repasemos!
  • ¡A practicar! Preservando el objeto

  • 🌍 Comunicación entre capas: Introduce Parameter Object Refactoring para objeto Request
  • 🎛️ Cómo gestionar configuración de infraestructura
  • ¡Repasemos!
  • ¡A practicar! Refactorizando Data Clumps

  • 🔥 Simplificando niveles de indentación: Replace Nested Conditional with Guard Clauses Refactoring
  • 💥 Control de errores: Replace Error Code with Exception
  • ⛓️ Simplificando niveles de indentación: Replace Control Flag with Break Refactoring
  • 👨‍👧‍👧 Trasladando reglas de integridad con semántica de dominio a condicionales: Decompose Conditional & Consolidate Conditional Expression Refactoring
  • ¡Repasemos!
  • ¡A practicar! Simplificando condicionales

  • 👉 Valores por defecto en argumentos: Replace parameter with explicit method
  • 🌈 Valores de argumentos por defecto: Como lidiar con ellos
  • ¡Repasemos!
  • ¡A practicar! Refactoriza Parameter Code Smell

  • 👤 Refactorizando La Clase User™️: De 💩 a ☀️
  • ✨ Qué pasa cuando no hay clases: JavaScript te miro a ti
  • 👀 Cómo plantear un proceso de refactoring
  • ¡Repasemos!
  • ¡A practicar! Ponte a prueba

  • 🏎 ¿Los Value Objects y la inmutabilidad perjudican el rendimiento?
  • 🎯 ¿Cómo validar un Value Object que necesita acceso a infraestrutura?
  • 🐽 Evitar el smell Inappropriate Intimacy y mejorar el OCP sin modificar la firma del cliente

  • ⚡️ Conclusiones y siguientes pasos
Ir al curso

Cursos relacionados

Standard
Patrones de diseño: Inbox y Outbox

📬 Patrones de diseño: Inbox y Outbox

Javier FerrerRafa Gómez

Aprende cuándo utilizar (y cuándo no) los patrones Inbox y Outbox.

Ver curso
Standard
Cómo medir la productividad de equipos de desarrollo [Charla]

🔬 Cómo medir la productividad de equipos de desarrollo [Charla]

AudienseCodely

Charla donde Alfredo Artiles nos cuenta cuando y cómo tiene sentido medir la productividad de equipos de desarrollo.

Ver curso
Standard
Event bus en base de datos [Diseño de Infraestructura]

🚏 Event bus en base de datos [Diseño de Infraestructura]

Javier FerrerRafa Gómez

Añade escalabilidad utilizando tu propia base de datos como un Event Bus.

Ver curso
Ver catálogo completo

Paga según tus necesidades

lite (sólo mensual)

19 €
al mes
  • Cursos esenciales de programación para construir una base sólida
Popular

standard

24,92 €
Descuento vs mensual de 49 €
Pago anual de 299 €
al mes
  • Catálogo principal para dominar cómo escribir un código mantenible, escalable y testable
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

premium

41,58 €
Descuento vs mensual de 89 €
Pago anual de 499 €
al mes
  • Cursos exclusivos de IA para mantenerte siempre actualizado
  • Acceso anticipado a nuevos cursos
  • Descuento en workshops
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

No subiremos el precio mientras mantengas tu suscripción activa

SuscríbeteInicia sesión