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

Ubicación y Estáticos

Pon cada función en la clase más interesada en ella, y mantén los métodos estáticos como utilidades verdaderamente sin estado.

Responsabilidad Mal Ubicada

G17: Cada pieza de código debe vivir donde un lector la buscaría naturalmente. Cuando escribes un método en Order que solo lee datos de Inventory, lo has ubicado mal. El lector mirando Inventory no encontrará un método que pertenece allí. El método tiene un hogar natural — ponlo allí. La regla general: un método pertenece a la clase cuyos datos usa más.

Métodos Estáticos Inapropiados

G18: Los métodos estáticos están bien para utilidades puras que no necesitan polimorfismo — Math.round, String.format. Se convierten en un problema cuando el método debería ser polimórfico. Si tienes Order.calculateFee(order) como estático y mañana necesitas que RushOrder calcule las tarifas de manera diferente, estás atrapado. Los métodos de instancia admiten sobrescritura; los estáticos no.

Desafío de Código

Mueve el método reorder_needed a la clase Inventory donde pertenece.

💡Conclusión clave

Pon el código donde un lector lo buscaría naturalmente — en la clase más interesada en los datos que usa.

🔧 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: G17/G18: Pregunta qué clase está más interesada en estos datos. Mueve el método allí.

✗ Tu versión