"Clean Code: Más allá del código que funciona"

(O, como decimos los programadores: "No solo hagas que funcione, haz que no me dé dolor de cabeza después")


¿Qué es el "Clean Code"?

Imagina que entras a una cocina:

Traducción no técnica: Es escribir código que otros humanos (o tú en 6 meses) puedan entender y modificar sin querer renunciar a la vida.


3 Reglas de Oro (Para Sobrevivir en Equipo)

1. Nombres que digan algo

Malo: a = b * c (¿Qué es a? ¿b? ¿Esto es un código o un acertijo?)
Clean: area_rectangulo = base * altura

👉 Como nombrar archivos: "foto1.jpg" vs "vacaciones_playa_2024.jpg"

2. Funciones que hagan UNA cosa

Código "Frankenstein":

def hacer_todo():
    # 1. Pedir datos usuario
    # 2. Calcular impuestos
    # 3. Enviar email
    # ... (200 líneas después)

Clean:

def calcular_impuestos():
    ...

def enviar_email():
    ...

👉 Como una receta: No pones "haz la pizza" sino "amasa la masa", "agrega ingredientes", "hornea 10 min".

3. Comentarios útiles (no obvios)

Inútil:

sumar(a, b) { // Suma a y b
    return a + b;
}

Útil:

// Ajusta el salario por inflación anual (USD)
// Fórmula: 2024 = salario * (1 + inflación_actual)
function ajustar_salario(...) { ... }

👉 Como notas en un libro: No digas "capítulo 3 habla de Juan", explica "Juan descubre el secreto familiar en esta escena".


¿Por qué debería importarte?


Ejemplo Real (De mi propia pesadilla)

Proyecto: Una app de bancos donde el código decía:

void proc1() { ... } // "procesa todo"

Resultado: 3 meses para arreglar un bug simple.
Solución: Dividirlo en:

void validar_transferencia() { ... }
void calcular_comision() { ... }

Moraleja: Un código limpio es como ordenar tu cuarto: al principio da flojera, pero después encuentras todo rápido.


Tu Mini-Checklist

✔️ ¿Puede entenderlo tu abuela (metafóricamente)?
✔️ ¿Las funciones tienen menos de 20 líneas?
✔️ ¿Los nombres explican el "qué" y el "por qué"?

"Escribir código es como escribir una novela: si solo tú la entiendes, es un diario íntimo, no software profesional."