Principios SOLID y Clean Code. Escribe código de calidad
- estudios
Sobre el curso
Sección titulada «Sobre el curso»Este curso cubre los cinco principios SOLID y las prácticas asociadas de Clean Code, fundamentales para escribir software que pueda evolucionar sin convertirse en una carga de mantenimiento. Aborda tanto la teoría como ejemplos prácticos de refactor y los olores de código (code smells) que indican necesidad de aplicar cada principio.
El programa cubre cada principio SOLID con ejemplos antes y después (responsabilidad única, abierto-cerrado, sustitución de Liskov, segregación de interfaces, inversión de dependencias), las prácticas de Clean Code de Robert C. Martin (nombres, funciones, comentarios, formato, manejo de errores), los olores de código habituales y las técnicas de refactor sistemático.
Está dirigido a desarrolladores con experiencia que quieren elevar la calidad de su código, ingenieros que se incorporan a equipos con estándares altos, técnicos preparando entrevistas en empresas exigentes y líderes técnicos que necesitan vocabulario común para hacer revisiones de código productivas.
Conocimientos adquiridos
Sección titulada «Conocimientos adquiridos»El curso me ha permitido desarrollar las siguientes capacidades:
- Aplicar el principio de responsabilidad única (SRP)
- Identificar clases con demasiadas razones para cambiar
- Aplicar el principio abierto-cerrado (OCP) sobre abstracciones
- Diseñar para extensibilidad sin modificar código existente
- Aplicar el principio de sustitución de Liskov (LSP)
- Detectar herencias que rompen el contrato del padre
- Aplicar segregación de interfaces (ISP)
- Evitar interfaces con métodos que el cliente no usa
- Aplicar inversión de dependencias (DIP)
- Depender de abstracciones en lugar de implementaciones concretas
- Reconocer code smells (long method, large class, duplicated code)
- Detectar dependencias mal gestionadas y feature envy
- Aplicar refactors clásicos (extract method, rename, move)
- Nombrar variables y funciones con intención clara
- Mantener funciones cortas con propósito único
- Reducir comentarios sustituyéndolos por código expresivo
- Manejar errores con excepciones bien tipadas
- Evitar valores mágicos y números literales sin contexto
- Aplicar formato y consistencia con linters automatizados
- Diseñar tests unitarios siguiendo el principio AAA
- Aplicar patrones cuando aclaran la intención
- Resistir la tentación de aplicar patrones sin necesidad
- Refactorizar de forma incremental sin romper la suite de tests
- Comunicar decisiones de diseño en revisiones de código
Este conocimiento permite producir código que comunica intención claramente, soporta cambios futuros sin reescritura completa y facilita la incorporación de nuevos miembros al equipo, transformando la calidad del software en una propiedad medible y comunicable en lugar de un asunto de gusto personal.