Codigo limpio y refactorización

En un mundo donde el software evoluciona rápidamente, escribir código limpio se ha convertido en una habilidad esencial para cualquier desarrollador. Este curso te enseñará cómo escribir código que no solo funcione, sino que sea fácil de entender, mantener y mejorar.

Aprenderás a identificar malos olores en el código y aplicarás principios sólidos para refactorizarlo de manera eficiente. Exploraremos las mejores prácticas de desarrollo, herramientas útiles y casos prácticos para que puedas llevar tus habilidades al siguiente nivel.

Temas:

  1. Introducción

  2. Mito: Si funciona, no lo toques

  3. Malos olores en el código. Code Smells
  4. Nombre Significativos

  5. Uso de constantes en lugar de valores mágicos

  6. Evitar parámetros booleanos

  7. Uso excesivo de variables globales

  8. Código Duplicado

  9. Código Muerto

  10. Uso de `switch`

  11. Haduoken en el Código

  12. Funciones y Métodos Limpios

  13. Clases Largas

  14. Uso de la Herencia

  15. Uso de convenciones de estilo

  16. Condiciones de Error primero

  17. Lanzar Excepciones

  18. Muchos argumentos en funciones y métodos

  19. Malos comentarios

  20. Optimización vs Código Limpio

  21. Encapsulación

  22. Código Hecho para Ser Leído

  23. Efectos Secundarios en el Código

  24. Uso de métodos genericos vs específicos

  25. Uso adecuado de estructuras de datos

  26. Minimizar dependencias innecesarias

  27. La refactorización
  28. Refactorización

  29. Principios de Código Limpio
  30. Boy Scout

  31. STUPID

  32. STUPID Singleton Abusivo

  33. STUPID Tight Coupling

  34. STUPID Untestability

  35. STUPID Premature Optimization

  36. STUPID Indescriptive Naming

  37. STUPID Duplication

  38. DRY

  39. Least Surprise

  40. FIRST en Testing

  41. Ley de Demeter

  42. Hollywood

  43. No Devuelvas Códigos de Error

  44. KISS

  45. YAGNI

  46. Navaja de Occam

  47. Pareto: Regla del 80/20

  48. Composición sobre Herencia

  49. Fail Fast

  50. Regla del Tres

  51. Inyección de dependencias

  52. Bajo Acoplamiento y Alta Cohesión

  53. Estructurar código
  54. No usar organización

  55. Layered Architecture (N-Layer)

  56. Screaming Architecture

  57. Arquitectura Microservicios

  58. Clean Architecture

  59. Otras arquitecturas

  60. Principios SOLID
  61. Principio de Responsabilidad Única (SRP)

  62. Principio de Abierto/Cerrado (OCP)

  63. Principio de Sustitución de Liskov (LSP)

  64. Principio de Segregación de Interfaces (ISP)

  65. Principio de Inversión de Dependencias (DIP)

  66. Patrones de Diseño
  67. Patrones de Diseño

  68. Otros conceptos
  69. Sobreingeniería

  70. Importancia del teting

  71. Heramientas para Escribir Código Limpio

  72. Código Limpio en Equipo