El recorrido
Principios de diseño
Un buen diseño es el que se puede cambiar fácil. Estos principios son las herramientas para lograrlo: código limpio, objetos que colaboran mandándose mensajes, bajo acoplamiento y alta cohesión. No se aprenden leyendo, se aprenden aplicándolos en cada kata y en cada refactor.
Temas
Clean Code
Clean Code, Código malo, Deterioro del código, Big Ball of Mud, Naming, Boy Scout Rule, Teoría de las ventanas rotas, Funciones, Parámetros, Comentarios, Formato
Encapsulamiento
Ocultamiento de información
Tell, Don't Ask
Tell, Don't Ask
Law of Demeter
Principle of Least Knowledge
Las 4 reglas del diseño simple
Command Query Separation
Uniform Access Principle
YAGNI
DRY
Don't Repeat Yourself, Duplicación incidental
Balanced Abstraction Principle
Law of Leaky Abstractions
Principle of Least Astonishment
Principle of Least Surprise
SOLID
Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle, God Objects
Acoplamiento
Niveles de acoplamiento
Cohesión
Niveles de cohesión
Software Design Odors
Rigidez, Fragilidad, Inmovilidad, Viscosidad, Complejidad innecesaria, Repetición innecesaria, Opacidad
Diseño por contrato
ETC
Easier to Change Principle
Connascence
de nombre y de tipo, de posición, de valor, de significado, de algoritmo, de orden de ejecución, de timing, de identidad, de tarea manual
Composición sobre herencia
Recursos
- Clean Code
Libro · Robert C. Martin, Prentice Hall, 2008 · Capítulos: 1, 2, 3, 4, 5, 6 · 102 págs.
- Clean Coders Episode 1: Clean Code
Video · 54 min
- Clean Coders Episode 2: Names
Video · 44 min
- Clean Coders Episode 3: Functions
Video · 3 h
- Clean Coders Episode 4: Function Structure
Video · 2 h 9 min
- Clean Coders Episode 5: Form
Video · 1 h 56 min
- Agile Principles, Patterns, and Practices in C#
Libro · Robert C. Martin, Micah Martin, Prentice Hall, 2006 · Capítulos: 7, 8, 9, 10, 11, 12 · 93 págs.
- Clean Coders Episode 9: Single Responsibility Principle
Video · 1 h 9 min
- Clean Coders Episode 10: Open Closed Principle
Video · 1 h 2 min
- Clean Coders Episode 11: Liskov Substitution Principle
Video · 1 h 26 min
- Clean Coders Episode 12: The Interface Segregation Principle
Video · 1 h 5 min
- Clean Coders Episode 14: Solid Case Study
Video · 43 min
- The Pragmatic Programmer 20th Edition
Libro · Andrew Hunt, David Thomas, Addison-Wesley, 2019 · Capítulos: 2, 4, 5, Topic 38 · 119 págs.
- Ley de Demeter; Tell, Don’t Ask y God Object
Artículo · 2 págs.
- 4 rules of simple design
Artículo · 1 págs.
- Command/Query Separation
Artículo · 1 págs.
- Tell, Don't Ask
Artículo · 1 págs.
- Uniform Access Principle
Artículo · 1 págs.
- YAGNI
Artículo · 4 págs.
- The DRY principle and incidental duplication
Artículo · 4 págs.
- Bouncer Pattern
Artículo · 1 págs.
- Leaky Abstraction
Artículo · 1 págs.
- Balanced Abstraction Principle
Artículo · 1 págs.
- Principle of Least Astonishment
Artículo · 1 págs.
- Delegation Pattern
Artículo · 1 págs.
- Prefer Composition Over Inheritance
Artículo · 6 págs.
- Avoid implementation Inheritance
Artículo · 2 págs.
Video · 54 min
- Agile Technical Practices Distilled
Libro · Pedro Moreira Santos, Marco Consolaro, Alessandro Di Gioia, Leanpub, 2019 · Capítulos: VII (Connascence) · 27 págs.
Katas para practicar



