Clean Code & SOLID Flashcards
¿Cuáles son los objetivos principales del diseño de código?
- Mantenibilidad,
- simplicidad,
- claridad,
- flexibilidad y
- legibilidad.
Nombres: ¿Cómo tienen que ser?
Significativos y pronunciables
¿Qué deben revelar los nombres?
La intención
¿Por qué se deben evitar valores fijos en el código?
Los valores fijos no son buscables, es preferible usar constantes con nombres claros.
¿Qué principio sigue el enfoque de usar polimorfismo en lugar de banderas (flags)?
Principio de responsabilidad única, ya que separa las condiciones en funciones específicas en lugar de manejar múltiples casos en una sola función.
¿Qué significa el principio DRY?
“Don’t Repeat Yourself”, es decir, evitar la duplicación de código.
¿Qué dice la “Regla del Boy Scout” en el desarrollo de software?
Deja el código en mejor estado del que lo encontraste, siempre mejorando aunque sea un poco.
¿Qué significa el “Principio de la menor sorpresa”?
El código debe comportarse de manera que sea intuitivo y no sorprenda a quienes lo leen o lo mantienen.
¿Qué tipo de comentarios son buenos?
Comentarios legales, informativos, que expliquen la intención o clarifiquen el código, advertencias de consecuencias, y comentarios TODO.
¿Qué significa el acrónimo F.I.R.S.T. en pruebas unitarias?
Fast, Independent, Repeatable, Self-Validating, Timely.
¿Qué principios se deben seguir al escribir casos de prueba?
Prueba una sola cosa por caso de prueba, usa un único método de assert, y utiliza nombres descriptivos.
¿Cuál es el principio de “Single Responsibility”?
Una función o clase debe tener una única responsabilidad o propósito.
¿Cuál es el beneficio principal del “Single Responsibility Principle”?
Facilita el mantenimiento y reduce el acoplamiento al tener clases enfocadas en un solo propósito.
¿En qué consiste el “Open/Closed Principle” (OCP)?
Las clases deben estar abiertas para extensión, pero cerradas para modificación.