💻 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! 🎉