"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:
- Código sucio: Todo revuelto, cuchillos oxidados, manchas de salsa en las recetas.
- Clean Code: Todo etiquetado, ingredientes frescos, instrucciones claras paso a paso.
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?
- Para jefes: Un código limpio ahorra un 40% de tiempo en arreglar errores (estudio de Google).
- Para devs: Te evita mensajes de odio de tus compañeros.
- Para todos: Menos errores = menos apps que se caen = menos frustración.
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."