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