Saltar al contenido principal

💻 Prompting para generación y explicación de código

Code Prompting es el uso de modelos de lenguaje para generar, explicar, traducir o depurar código fuente en uno o varios lenguajes de programación, a partir de instrucciones en lenguaje natural o semiestructurado.


🧠 ¿Qué es Code Prompting?

Se trata de crear prompts diseñados específicamente para que el modelo actúe como:

  • Generador de funciones o scripts completos.
  • Traductor entre lenguajes (ej. Python → Go).
  • Explicador de lógica compleja.
  • Revisor o depurador de código.

📌 Es como trabajar con un asistente técnico que entiende natural language y código al mismo tiempo.


✅ Ventajas

  • Aumenta productividad en desarrollo.
  • Ayuda a aprender nuevos lenguajes o patrones.
  • Útil para documentación automática.
  • Puede sugerir optimizaciones.

⚠️ Desventajas

  • No siempre sigue buenas prácticas si no se especifican.
  • Puede "inventar" código que parece correcto pero falla en runtime.
  • Requiere revisión manual o testeo posterior.

💡 Casos de uso comunes

  • Generación de funciones simples o repetitivas.
  • Traducción de scripts entre lenguajes.
  • Explicación de código legado.
  • Generación de pruebas unitarias.
  • Refactorización o documentación inline.

🧪 Ejemplos

🟢 Ejemplo fácil – Generación básica

Escribí una función en JavaScript que calcule el factorial de un número.

🟠 Ejemplo intermedio – Traducción de lenguaje

Convertí este código Python en su equivalente en Golang:
```python
def is_even(n):
return n % 2 == 0

### 🔴 Ejemplo avanzado – Explicación + sugerencia de mejora

Explicá paso a paso qué hace este código y proponé una forma más eficiente de lograr lo mismo:

def get_duplicates(lista):
resultado = []
for item in lista:
if lista.count(item) > 1 and item not in resultado:
resultado.append(item)
return resultado

---

## 🔎 Aplicaciones actuales
- **GitHub Copilot**, **Cursor**, **CodeWhisperer**: asistentes de codificación interactiva.
- IDEs con integración LLM para generación de snippets, refactor y documentación.
- Plataformas de entrevistas técnicas automatizadas.

---

## 🧠 Consejo final
- Indicá siempre el **lenguaje**, formato y si querés output comentado.
- Usá ejemplos de entrada/salida para guiar mejor la generación.
- No lo uses “a ciegas”: validá el output como lo harías con cualquier código externo.

---

¡Con esto completamos las principales técnicas de prompting actuales! 🎉