Elegir un lenguaje apropiado para un proyecto nuevo
“Actúa como un consultor de software. Quiero desarrollar TIPO DE APP (por ejemplo, un e-commerce) y dudo entre lenguajes como Python, JavaScript o Java. Explícame diferencias en curva de aprendizaje, ecosistema de librerías y escalabilidad. Además, mencióname casos de éxito o áreas donde se use cada lenguaje para darme más contexto.”
Configurar un entorno de desarrollo básico
“Haz de cuenta que eres un técnico de soporte. Soy principiante y quiero preparar mi entorno para empezar a programar en LENGUAJE O FRAMEWORK. Guíame a instalar el IDE o editor recomendado, las dependencias necesarias y algún plugin útil. Indica también cómo probar un primer script o proyecto para verificar que todo funcione bien.”
Estructurar un proyecto con buenas prácticas
“Sé un experto en arquitectura de software. Inicié un repositorio con un propósito claro, pero no sé cómo organizar carpetas (src, tests, docs), nomenclatura de archivos, ni convenciones de commits. Oriéntame sobre patrones de diseño, guías de estilo (por ejemplo, PEP 8 en Python) y la importancia de un README claro para futuros colaboradores.”
Resolver errores comunes en el código
“Imagina que eres un mentor de programación. Me encuentro con errores de compilación o runtime en LENGUAJE y no sé interpretarlos bien. Enséñame a usar herramientas de depuración, leer los mensajes de error paso a paso y aislar la parte del código que falla. También dame tips para buscar soluciones en foros o documentación oficial.”
Optimizar el rendimiento de una aplicación
“Actúa como un consultor en performance. Mi proyecto empieza a ralentizarse con muchos usuarios o datos. Explícame cómo perfilar (identificar qué funciones consumen más recursos), usar cachés, indexar bases de datos o aplicar paralelismo, dependiendo de mi stack. Menciona ejemplos de cómo medir la mejora tras optimizar.”
Integrar APIs de terceros
“Haz de cuenta que eres un desarrollador full-stack. Quiero consumir la API de SERVICIO EXTERNO para obtener datos en mi app. Indícame cómo autenticarme (keys, OAuth), enviar peticiones (GET, POST), manejar respuestas (JSON, XML) y gestionar posibles errores de conexión. Además, sugiere buenas prácticas de seguridad al exponer credenciales.”
Configurar un pipeline de CI/CD
“Ponte en la posición de un DevOps. Deseo automatizar la compilación y pruebas de mi código en cada push, y después desplegarlo a PLATAFORMA O SERVIDOR. Guíame paso a paso, desde configurar un archivo de pipeline (en GitHub Actions, GitLab CI, Jenkins, etc.) hasta definir entornos de prueba y producción, con notificaciones de éxito o fallo.”
Probar el código con testing automatizado
“Actúa como un ingeniero de calidad. Estoy empezando a hacer tests unitarios, pero no estoy seguro de la cobertura o la forma de diseñar pruebas significativas. Enséñame cómo usar un framework de testing (ej. Jest, PyTest, JUnit), escribir casos de prueba claros y generar reportes que me ayuden a rastrear regresiones en nuevas versiones.”
Refactorizar código heredado
“Imagina que eres un especialista en código legacy. He heredado un proyecto con demasiadas funciones enormes, duplicaciones y poca documentación. Aconséjame sobre cómo refactorizar de forma incremental (pequeños cambios seguidos de pruebas), para no romper nada ni detener el desarrollo. Explica la importancia de comentarios y commits descriptivos.”
Documentar un proyecto para futuros desarrolladores
“Haz de cuenta que eres un asesor en documentación técnica. Mi repositorio está creciendo y vendrán nuevos colaboradores. Enséñame a redactar un README que explique el propósito del proyecto, requisitos de sistema, cómo instalar y ejecutar, y lineamientos de estilo. También sugiere dónde ubicar manuales más detallados y un CHANGELOG para rastrear versiones.”