Skip to main content

Inicia sesión en CleanKata

Sigue tu progreso, gana XP y desbloquea todas las lecciones.

Al iniciar sesión aceptas nuestros Términos de uso y Política de privacidad.

Código Limpio60 XP6 min

Selectores e Intención

Los argumentos selectores booleanos y de enumeración oscurecen la intención — divídelos en funciones enfocadas y bien nombradas.

Argumentos Selectores Booleanos y de Enumeración

G15: Los argumentos selectores son banderas que eligen un camino a través de una función. Son una señal de que la función hace más de una cosa. Cuando llamas render(data, true), ¿true significa verbose? ¿en caché? ¿comprimido? El lector debe sumergirse en la implementación para saberlo. La solución es dividir la función: renderVerbose(data) y renderCompact(data) son inmediatamente comprensibles.

Intención Oscurecida

G16: El código debe ser expresivo en el punto donde se lee, no solo donde se escribe. Los números mágicos como 86400, los nombres de algoritmos crípticos y las variables de una letra ocultan la intención. Un lector debería entender qué hace una línea sin necesidad de rastrear su historia. Nombra las constantes, divide las expresiones complejas en pasos nombrados y elige verbos que describan la acción con precisión.

Desafío de Código

Divide la función calculate_price en dos funciones claramente nombradas.

💡Conclusión clave

Un argumento selector es una confesión de que una función hace dos cosas. La solución siempre es dividirla.

🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.

Pista: G15: Si un argumento booleano cambia lo que hace la función, divídela en dos. G16: Reemplaza los valores mágicos con constantes nombradas.

✗ Tu versión