Yeda AI Tips · #056

English

Nunca dejes código comentado

Deja de comentar código viejo. Tu historial de git ya lo recuerda, y tu asistente de IA se confunde con las líneas muertas. Cada bloque que guardas "por si acaso" es un bloque que git ya guarda — perfectamente, para siempre, con el mensaje de commit que explica por qué cambió. La copia comentada no aporta nada más que ruido, dudas y peores sugerencias de la IA.

Por qué el código muerto es peor que ningún código

La solución: borra, haz commit y sigue

- # def calculate_discount_v1(price, tier):
- #     # old logic, keep for reference
- #     if tier == "gold":
- #         return price * 0.8
- #     return price
  def calculate_discount(price, tier):
      return price * DISCOUNT_BY_TIER.get(tier, 1.0)

Borra el bloque y escribe un mensaje de commit honesto: refactor: replace tiered discount branches with a lookup table. Ese mensaje es la "referencia": buscable, con fecha, con autor y unido exactamente al código que describe.

Reglas prácticas

SituaciónHaz esto
Implementación vieja que reemplazasteBórrala. El diff del commit es el archivo histórico.
"Quizá lo necesite el próximo sprint"Bórralo; lo recuperas con git log -S en segundos si ese sprint llega de verdad.
Prints de debug / toggles temporalesBórralos antes del PR. Los revisores no deberían verlos nunca.
Enfoque alternativo experimentalVa en una rama, no en un bloque comentado.
Una explicación del porqué ("workaround para el límite de la API")Consérvala — eso es un comentario real, no código muerto.

La línea divisoria: los comentarios que explican por qué son documentación; los comentarios que contienen qué (código ejecutable) son peso muerto.

Nivel avanzado: git como tu papelera de reciclaje

El miedo detrás del código comentado es "no lo voy a encontrar nunca más". El pickaxe de git elimina ese miedo:

# Find every commit that added or removed a string
git log -S "calculate_discount_v1" --oneline

# Same, but match a regex against changed lines
git log -G "discount.*tier" --oneline

# Trace the full history of a function, even after it was deleted
git log -L :calculate_discount:pricing.py

# Resurrect one file exactly as it was in an old commit
git show a1b2c3d:src/pricing.py > /tmp/old_pricing.py

-S (el "pickaxe") encuentra commits que cambiaron el número de ocurrencias de una cadena — que es exactamente lo que hace un borrado. -L rastrea un rango de líneas o una función a través de la historia. El código borrado no desaparece: queda indexado.

Bonus para flujos con IA: corre tu agente sobre un archivo limpio y sobre el mismo archivo con los bloques muertos. La versión limpia recibe respuestas más enfocadas, porque cada token del contexto es verdad viva y actual.

Recursos

Read this article in English

¿Construyes con agentes de código con IA? Yeda AI diseña, audita y entrega sistemas LLM de producción.

Habla con nosotros · Lee el blog