Escribimos código una vez, pero lo leemos muchas veces: nosotros, los compañeros de equipo y quien retome el proyecto en seis meses. El código limpio no es un lujo estético, es una inversión en la velocidad de todo lo que venga después.

La regla de oro

Existe una regla simple que guía casi todas las demás: el código debe leerse como prosa. Alguien sin contexto debería poder entenderqué hace una función con solo leer su nombre y su cuerpo.

Nombres que dicen la verdad

Los nombres son la documentación más barata que existe. Compara estas dos versiones:

// Difícil de leer
function calc(a, b, c) {
  return a * b - c / 100;
}

// Claro de leer
function calcularDescuento(precio, cantidad, porcentaje) {
  return precio * cantidad - porcentaje / 100;
}

La segunda versión no es "más código": es código que se explica a sí mismo y que evita malentendidos costosos.

Funciones pequeñas con una sola razón

Una función que hace tres cosas es difícil de probar y de modificar. Partirla en funciones pequeñas, cada una con una responsabilidad clara, facilita encontrar errores y reutilizar partes. Si una función necesita un comentario para explicar qué hace, suele ser señal de que debería dividirse.

Comentarios que explican el "por qué"

El código explica el qué; los comentarios deben explicar elpor qué. Un comentario valioso es el que avisa de una decisión poco obvia:

// El retraso existe porque el API de pagos tarda en actualizar el saldo.
await esperar(500);

Comentar lo que el código ya dice (un // sumar dos númerosencima de una suma) es ruido. Guarda los comentarios para el contexto que no se ve en el código.

Herramientas que te ahorran discusiones

Un formateador (Prettier) y un linter (ESLint) unifican estilo y detectan errores antes de que lleguen al proyecto. La consistencia que dan es la mitad del código limpio.

Consistencia sobre perfección

No siempre hay "la forma correcta" de escribir algo. Más importante que elegir el estilo perfecto es ser consistente: el mismo orden de imports, la misma convención de nombres, el mismo patrón para componentes. La consistencia reduce la carga mental de quien lee.

Componentes que se reutilizan

En el desarrollo web moderno, un componente reutilizable bien hecho es código limpio en acción. Un botón, una tarjeta o un formulario que se usan en varias páginas deberían definirse una vez y adaptarse con propiedades, en lugar de copiarse y pegarse con variaciones.

"La mejor señal de código limpio es poder dejarlo a un lado por semanas y retomarlo sin fricción."

El costo real del código descuidado

El código desordenado no se queda ahí: se convierte en errores que tardan más en encontrarse, cambios que rompen otras partes y proyectos que se atrasan. En la práctica, "no tengo tiempo para hacerlo limpio" se convierte en "no tengo tiempo para arreglar lo que rompí".

Conclusión

El código limpio es una cortesía con el futuro: con la siguiente persona que lo lea, que bien podrías ser tú. Nombre claros, funciones pequeñas y consistencia no cuestan más tiempo del que ahorran después.