Lección 11 de 16

Leccion 11: ChatGPT para desarrollo de software

0:00 / 0:00

Leccion 11: ChatGPT para desarrollo de software

ChatGPT para desarrolladores
ChatGPT para desarrolladores: más allá del autocompletado

Si sos desarrollador, ChatGPT (especialmente combinado con o1/o3) es la herramienta de productividad más poderosa de tu arsenal. Pero la mayoría de devs lo usa solo para generar snippets simples. En esta lección vas a aprender técnicas avanzadas que te diferencian como desarrollador senior.

El stack de IA para desarrollo en 2026

HerramientaMejor paraCosto
ChatGPT (GPT-4o)Explicaciones, documentación, código general$20/mes (Plus)
ChatGPT (o1/o3)Bugs complejos, arquitectura, auditoríaIncluido en Plus
GitHub CopilotAutocompletado inline en el editor$10/mes
Cursor IDEIDE con IA integrada (usa GPT-4o y Claude)$20/mes
Claude (Anthropic)Codebase completo, contextos muy largos$20/mes

Para la mayoría de devs, ChatGPT Plus + GitHub Copilot o Cursor es el setup más productivo.

Técnica 1: Generación de código con contexto completo

La diferencia entre código mediocre y código excelente de IA está en cuánto contexto das:

Prompt básico (resultado mediocre):

"Crea una función para validar email en Python"

Prompt experto (resultado de producción):

Contexto del proyecto:
- API REST en Python/FastAPI para una plataforma SaaS
- Python 3.11, Pydantic v2 para validación
- Emails pueden ser de usuarios latinoamericanos (caracteres especiales)
- El sistema tiene que manejar emails de aliases (tag+ notation)
Necesito:
1. Función de validación de email con Pydantic v2
2. Que maneje: formato básico, dominio existente (no verificar DNS), aliases (+)
3. Tests unitarios con pytest para los casos: válido, inválido, alias, internacional
4. Docstring con descripción, parámetros y excepciones
5. Manejo de errores específico para cada caso de fallo
Convenciones del proyecto: snake_case, type hints obligatorios, no excepciones silenciosas

Técnica 2: Debugging sistemático con IA

El template de debugging que funciona siempre

## Bug Report para ChatGPT
**Entorno:**
- Lenguaje/Framework: Python 3.11 / FastAPI 0.109
- OS: Ubuntu 22.04
- Versiones relevantes: SQLAlchemy 2.0, PostgreSQL 15
**Comportamiento esperado:**
Cuando POST /api/users con email válido, debe crear usuario y devolver 201
**Comportamiento actual:**
500 Internal Server Error con este traceback:
```
[PEGAR TRACEBACK COMPLETO AQUÍ]
```
**Código relevante:**
```python
[PEGAR EL CÓDIGO RELEVANTE]
```
**Lo que ya intenté:**
- Verificar que la conexión a DB funciona (sí funciona)
- Agregar print statements (el código llega hasta la línea X)
- Revisar el schema de la tabla (parece correcto)
**Pregunta específica:**
¿Qué está causando el error en la línea X y cómo lo soluciono?

Cuándo usar o1 para debugging

Si después de 2-3 intentos con GPT-4o el bug no se resuelve, cambiar a o1. Su razonamiento extendido es mucho mejor para:

  • Bugs de concurrencia (race conditions)
  • Memory leaks sutiles
  • Bugs intermitentes que no reproducen siempre
  • Problemas de serialización/deserialización compleja
  • Errores en queries SQL con múltiples joins y subqueries

Técnica 3: Code Review asistido por IA

Prompt para code review completo

Realiza un code review de este código Python como si fueras un senior developer.
Criterios de review:
1. Correctitud: ¿hay bugs o comportamientos incorrectos?
2. Seguridad: ¿hay vulnerabilidades (injection, XSS, autenticación)?
3. Performance: ¿hay operaciones costosas evitables?
4. Mantenibilidad: ¿el código es legible y testeable?
5. Mejores prácticas: ¿sigue los principios SOLID y PEP8?
Para cada issue encontrado:
- Severidad: [crítico | alto | medio | bajo | sugerencia]
- Descripción del problema
- Código corregido
Código a revisar:
```python
[CÓDIGO AQUÍ]
```

Prompt para security audit

Realiza una auditoría de seguridad de este endpoint de API.
Busca específicamente:
- SQL/NoSQL injection
- Autenticación y autorización incorrecta
- Exposición de datos sensibles
- Rate limiting ausente
- Validación de inputs insuficiente
- CORS mal configurado
- Secretos en código
Para cada vulnerabilidad: tipo, severidad CVSS estimada, línea del código, exploit scenario, y fix.
```python
[CÓDIGO DEL ENDPOINT]
```

Técnica 4: Generación de tests

Tests unitarios completos

Genera tests unitarios comprehensivos para esta función con pytest.
Requirements:
- Cubrir happy path, edge cases, y error cases
- Usar fixtures donde sea apropiado
- Mockear dependencias externas (DB, APIs)
- Al menos 85% de branch coverage
- Nombres de tests descriptivos (test_should_X_when_Y)
- Un assert por test cuando sea posible
Función a testear:
```python
[FUNCIÓN AQUÍ]
```

Técnica 5: Arquitectura y diseño de sistemas

Diseño de API REST

Necesito diseñar la API REST para un sistema de gestión de inventario 
para una empresa de retail con 50 sucursales.
Requisitos:
- 10,000 productos, movimientos de stock en tiempo real
- Múltiples almacenes por sucursal
- Integración con sistema de ventas existente (webhook)
- API pública para proveedores (rate limited)
Necesito:
1. Diseño de endpoints (método, URL, body, response)
2. Estructura de los recursos principales en JSON
3. Estrategia de paginación para listas largas
4. Manejo de errores (códigos HTTP y formato de error)
5. Consideraciones de seguridad (autenticación, autorización)
6. Estrategia de versionado
Usa RESTful best practices y estándares de la industria.

Diseño de base de datos

Diseña el schema de base de datos para un marketplace de servicios 
(tipo Fiverr/Workana) para el mercado latinoamericano.
Entidades principales: usuarios (vendedores/compradores), 
servicios, órdenes, pagos, reviews, mensajes.
Necesito:
1. Diagrama ER en texto (tablas, columnas, relaciones)
2. Tipos de datos específicos para PostgreSQL
3. Índices recomendados para las queries más frecuentes
4. Estrategia para soft delete vs hard delete
5. Consideraciones para multi-currency (ARS, MXN, COP, USD)

Técnica 6: Documentación automática

Genera documentación completa para esta función/clase/módulo.
Formato:
- Docstring en formato Google Style
- README section con: descripción, uso, ejemplos, parámetros, return values
- OpenAPI/Swagger spec si es un endpoint
Código:
[CÓDIGO AQUÍ]

Migración y refactoring con IA

Modernizar código legacy

Refactoriza este código Python 2.7 a Python 3.11 con mejores prácticas modernas.
Mejoras requeridas:
- Type hints con Python 3.10+ (Union → |, Optional → X | None)
- f-strings en lugar de .format()
- Pathlib en lugar de os.path
- Context managers donde aplica
- Async/await si hay operaciones I/O bound
- Eliminar código redundante o deprecated
Mantener: la lógica de negocio exacta, nombres de funciones públicas para compatibilidad
Código original:
```python
[CÓDIGO LEGACY]
```

El workflow de desarrollo asistido por IA

Un workflow probado para desarrollo de features con IA:

  1. Diseño (10 min con o1): "Diseña la arquitectura de este feature, considerando [requisitos]"
  2. Implementación (en IDE con Copilot): Código guiado por autocompletado inteligente
  3. Review (15 min con GPT-4o): Code review completo del código escrito
  4. Tests (10 min con GPT-4o): Generar tests unitarios del código revisado
  5. Docs (5 min con GPT-4o): Generar documentación del feature

Tiempo total con IA: 40 min para un feature que tomaba 3-4 horas.

Ejercicio práctico: El ciclo completo de desarrollo con IA

Toma un feature que tengas pendiente o crea uno de práctica:

  1. Describe el feature y pide a o1 un diseño de arquitectura completo
  2. Implementa el código (con Copilot si lo tenés, o manualmente)
  3. Pasa el código por el template de code review con GPT-4o
  4. Aplica al menos 3 de las correcciones sugeridas
  5. Genera tests unitarios con el prompt de testing
  6. Corre los tests y corrige lo que falle
Pon a prueba tu conocimiento
Encontraste un bug intermitente en producción que aparece 1 de cada 1000 requests y que no puedes reproducir en local. ¿Cuál es el mejor uso de ChatGPT para resolverlo?
  • Pedirle que genere el código corregido sin contexto adicional
  • Usar o1 con el template completo de debugging: logs de producción, código relevante, arquitectura del sistema, y lo que ya descartaste como causa
  • Pedirle que te explique qué puede causar bugs intermitentes en general
  • ChatGPT no puede ayudar con bugs intermitentes
Correcto: o1 con contexto completo (logs, código, arquitectura, intentos previos) es ideal para bugs difíciles. Su razonamiento extendido puede explorar sistemáticamente las causas de race conditions, timeouts intermitentes, y otros bugs difíciles de reproducir.

Quiz Generado por IA

Evalua tu comprension de esta leccion con preguntas personalizadas.