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 Limpio

Escribe código legible y mantenible que otros desarrolladores amarán.

47 lecciones

Organización de Clases

Las clases deben ser pequeñas, enfocadas y tener una única razón para cambiar.

Ganar +70 XP7 min

La Mentalidad del Código Limpio

Por qué el código limpio es una disciplina profesional — y cómo el código sucio destruye silenciosamente equipos y empresas.

Ganar +50 XP8 min

Estrategias de Concurrencia Limpia

Escribe código concurrente que sea correcto, legible y libre de sutiles errores de carrera de datos.

Ganar +70 XP7 min

Manejo Limpio de Errores

El manejo de errores es una preocupación separada — mantenla aislada para que tu algoritmo principal sea legible.

Ganar +60 XP6 min

Pruebas Unitarias Limpias

Las pruebas son código de primera clase — las pruebas sucias son tan costosas de mantener como el código de producción.

Ganar +60 XP6 min

Heurísticas de Comentarios

Identifica y elimina los malos comentarios; escribe el raro bueno con precisión.

Ganar +50 XP5 min

Concurrencia: Modelo Cliente-Servidor

Estructura sistemas concurrentes cliente-servidor para aislar el estado compartido y evitar sutiles errores de hilos.

Ganar +70 XP7 min

Concurrencia: Deadlock y Inanición

Reconoce y elimina las cuatro condiciones que producen deadlock en sistemas concurrentes.

Ganar +70 XP7 min

Interbloqueo: Las 4 Condiciones

Un interbloqueo requiere las cuatro condiciones de Coffman simultáneamente — rompe cualquiera y el interbloqueo se vuelve imposible.

Ganar +70 XP7 min

Concurrencia: Pruebas con Jiggle

Las condiciones de carrera se esconden en brechas de tiempo — agitar el orden de ejecución con yields aleatorios y ejecuciones multiplataforma las expone.

Ganar +70 XP7 min

No Te Repitas

🔒

Cada pieza de conocimiento debe tener una única representación autorizada en el código.

Requiere 25 XP para desbloquear7 min

Duplicación y Abstracción

🔒

Reconoce la duplicación oculta y elige la abstracción correcta para eliminarla.

Requiere 50 XP para desbloquear6 min

La Filosofía 5S en el Código

🔒

Cómo la filosofía 5S de manufactura de Toyota se traduce en artesanía de software profesional.

Requiere 75 XP para desbloquear6 min

Análisis de Frameworks

🔒

Entiende lo que hace un framework antes de usarlo — lee el código fuente, no solo la documentación.

Requiere 100 XP para desbloquear6 min

Heurísticas de Funciones

🔒

Aplica las heurísticas F1–F4 para mantener las funciones mínimas, enfocadas y sin efectos secundarios.

Requiere 125 XP para desbloquear5 min

Niveles de Abstracción y Dependencias

🔒

Mantén la política de alto nivel separada del detalle de bajo nivel, y asegura que las clases base nunca dependan de las derivadas.

Requiere 150 XP para desbloquear6 min

Coherencia y Claridad

🔒

Aplica el mismo patrón en todas partes, evita el desorden conceptual y nunca acoplas preocupaciones no relacionadas.

Requiere 175 XP para desbloquear6 min

Convenciones y Números Mágicos

🔒

Sigue los estándares de codificación del equipo de forma religiosa y reemplaza cada literal mágico con una constante nombrada.

Requiere 200 XP para desbloquear5 min

Entorno y Verdad

🔒

Construye sistemas que compilen en un paso, ejecuten todas las pruebas en un paso, y nunca mientan a través de advertencias suprimidas.

Requiere 225 XP para desbloquear6 min

Expresividad y Algoritmos

🔒

Usa variables explicativas, nombres precisos y un profundo entendimiento del algoritmo para que el código hable por sí mismo.

Requiere 250 XP para desbloquear6 min

Envidia de Características

🔒

Un método que pasa la mayor parte de su tiempo leyendo los datos de otra clase pertenece a esa clase.

Requiere 275 XP para desbloquear5 min

Lógica y Polimorfismo

🔒

Haz explícitas todas las dependencias y reemplaza las cadenas if/switch con despacho polimórfico.

Requiere 300 XP para desbloquear6 min

Ruido y Organización

🔒

Elimina información excesiva, código muerto y distancia vertical para que cada archivo sea fácil de escanear.

Requiere 325 XP para desbloquear6 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.

Requiere 350 XP para desbloquear6 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.

Requiere 375 XP para desbloquear6 min

Resumen del Catálogo de Heurísticas

🔒

Un catálogo curado de malos olores de código y heurísticas de refactorización extraídas del capítulo 17 de Clean Code.

Requiere 400 XP para desbloquear8 min

G16: La Intención Oscurecida

🔒

El código que intenta ser inteligente es código que falla en comunicar — la densidad y brevedad a costa de la claridad no son virtudes.

Requiere 425 XP para desbloquear5 min

G21: Comprender el Algoritmo

🔒

Que las pruebas pasen no equivale a entender — el código limpio exige que comprendas completamente por qué funciona el algoritmo antes de confirmarlo.

Requiere 450 XP para desbloquear5 min

G22: Dependencias Lógicas a Físicas

🔒

Nunca permitas que un módulo asuma silenciosamente un valor de otro — haz que cada dependencia sea explícita y declarada en el código.

Requiere 475 XP para desbloquear6 min

Heurísticas Específicas de Java (J1–J3)

🔒

Tres heurísticas enfocadas en Java: evita importaciones con comodines, nunca heredes constantes, y prefiere enumeraciones sobre constantes enteras.

Requiere 500 XP para desbloquear5 min

Refactorización de Código Legado

🔒

Transforma código legado enredado de forma segura añadiendo pruebas primero y refactorizando en pequeños pasos.

Requiere 525 XP para desbloquear7 min

El Arte de Nombrar

🔒

Escribe nombres que revelen la intención, eviten la confusión y hagan el código buscable.

Requiere 550 XP para desbloquear5 min

Heurísticas de Nombres

🔒

Aplica las heurísticas N1–N7 para escribir nombres precisos, sin ambigüedad y fáciles de buscar.

Requiere 575 XP para desbloquear6 min

El Mal Necesario de los Comentarios

🔒

El código es la única fuente de verdad — los comentarios mienten a medida que el código evoluciona.

Requiere 600 XP para desbloquear5 min

Objetos vs Estructuras de Datos

🔒

Los objetos ocultan datos detrás del comportamiento. Las estructuras exponen datos. Mezclar ambos crea híbridos que nadie quiere.

Requiere 625 XP para desbloquear6 min

Ética y Actitud del Programador

🔒

La calidad es una responsabilidad profesional — no algo que entregas cuando el tiempo lo permite, sino el mínimo no negociable de tu oficio.

Requiere 650 XP para desbloquear6 min

Funciones Puras

🔒

Una función pura siempre devuelve el mismo resultado para la misma entrada y no cambia nada fuera de ella misma.

Requiere 675 XP para desbloquear7 min

Selectores de Responsabilidad

🔒

Usa las heurísticas de Responsabilidad Única para detectar y dividir clases y módulos sobrecargados.

Requiere 700 XP para desbloquear6 min

SerialDate: Limpieza y Transformación

🔒

Aplica el refinamiento sucesivo a la clase SerialDate — prueba, renombra, extrae y simplifica.

Requiere 725 XP para desbloquear7 min

SerialDate: Diagnóstico

🔒

Un caso de estudio para leer código legado de forma crítica — encuentra los malos olores antes de tocar nada.

Requiere 750 XP para desbloquear7 min

Las 4 Reglas del Diseño Simple

🔒

Las cuatro reglas de Kent Beck, en orden de prioridad, para un diseño siempre listo para evolucionar.

Requiere 775 XP para desbloquear6 min

Funciones Pequeñas

🔒

Las funciones deben hacer una sola cosa, hacerla bien y solo eso.

Requiere 800 XP para desbloquear6 min

Estilo y Formato como Comunicación

🔒

El formato del código es un acto de comunicación — estructura los archivos para que cualquier desarrollador pueda navegar en segundos.

Requiere 825 XP para desbloquear5 min

Refinamiento Sucesivo

🔒

Comienza con código que funciona y luego refactoriza de forma iterativa — nunca escribas código limpio en un solo paso.

Requiere 850 XP para desbloquear6 min

Límites del Sistema

🔒

El código de terceros pertenece al borde — envuélvelo para que nunca contamine tu lógica de negocio.

Requiere 875 XP para desbloquear6 min

Las Tres Leyes del TDD

🔒

Domina el micro-ciclo rojo-verde-refactorizar: escribe primero una prueba que falle, luego solo el código necesario para pasarla.

Requiere 900 XP para desbloquear6 min

Heurísticas de Testing

🔒

Aplica las heurísticas T1–T9 para escribir suites de pruebas completas, significativas y mantenibles.

Requiere 925 XP para desbloquear6 min