Crear indicaciones eficaces para GitHub Copilot
Un mensaje es una instrucción de lenguaje natural que indica a GitHub Copilot lo que quiere que haga. Las indicaciones se pueden usar para formular preguntas, comunicar requerimientos o describir tareas.
Por ejemplo, las siguientes indicaciones representan una pregunta, una solicitud y una descripción de tarea.
Question: How do I create a button that submits a form?
Request: Add a button that opens a modal dialog. The button should be blue with rounded corners.
Task: Build a product page that displays a product title, product image, product description, and price. Product information should be fetched from the attached ProductsList.json file. The price should be formatted as currency. The page should also include a button to add the product to the cart.
La calidad de la solicitud afecta directamente a la calidad de la respuesta de GitHub Copilot.
¿Qué hace un buen aviso?
La creación de avisos de alta calidad es esencial para obtener el máximo valor de GitHub Copilot. Las siguientes estrategias le ayudarán a elaborar mensajes que generen respuestas más precisas, relevantes y útiles.
Inicie general y, a continuación, obtenga información específica
Al escribir una solicitud para Copilot, comience con una descripción amplia de su objetivo o escenario y, a continuación, proporcione requisitos específicos. Este enfoque proporciona a Copilot el contexto necesario a la vez que garantiza que se abordan sus necesidades detalladas.
Example:
Write a function that tells me if a number is prime.
The function should take an integer and return true if the integer is prime.
The function should error if the input is not a positive integer.
Proporcionar ejemplos concretos
Algunos ejemplos son una de las formas más eficaces de comunicar su intención a Copilot. Puede proporcionar datos de entrada de ejemplo, salidas esperadas e incluso implementaciones de ejemplo para guiar la comprensión de la inteligencia artificial.
Example:
Write a function that finds all dates in a string and returns them in an array. Dates can be formatted like:
- 05/02/24
- 05/02/2024
- 5/2/24
- 5/2/2024
- 05-02-24
- 05-02-2024
- 5-2-24
- 5-2-2024
Example usage:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Expected return: ["11/14/2023", "12-1-23"]
Dividir tareas complejas en pasos más sencillos
Cuando se enfrenta a una tarea compleja o grande, descompone en componentes más pequeños y administrables. Este enfoque conduce a mejores resultados y facilita la depuración y refinación de piezas individuales.
Ejemplo: en lugar de pedir a Copilot que genere una sopa de letras completa, divida el proceso:
Write a function to generate a 10 by 10 grid of lettersWrite a function to find all words in a grid of letters, given a list of valid wordsWrite a function that uses the previous functions to generate a 10 by 10 grid containing at least 10 wordsUpdate the previous function to print the grid and 10 random words from the grid
Eliminación de la ambigüedad
Evite referencias vagas y términos ambiguos que se puedan interpretar de varias maneras. Sé explícito sobre lo que haces referencia a y a lo que quieres que haga Copilot.
Ejemplos deficientes:
- "¿Qué hace esto?" (poco claro a lo que hace referencia "esto").
- "Corregir el error" (no especifica qué error o cómo corregirlo).
Mejores ejemplos:
- "¿Qué hace la función createUser?"
- "¿Qué hace el código en la última respuesta?"
- "Corrija el error de validación en el campo de entrada de correo electrónico".
Consideraciones sobre la biblioteca:
- Si usa una biblioteca poco frecuente, describa su propósito.
- Para bibliotecas específicas, incluya instrucciones import o especifique la biblioteca que desea usar.
Proporcionar contexto relevante
Ayude a Copilot a comprender la estructura y las intenciones del proyecto mediante la administración eficaz del entorno de desarrollo.
En tu IDE:
- Abra los archivos pertinentes y cierre los no relacionados.
- Resalte las secciones de código específicas a las que desea que haga referencia Copilot.
- Use participantes de chat como
@workspaceen Visual Studio Code o@projecten IDE de JetBrains.
En Copilot Chat:
- Haga referencia a archivos o bloques de código específicos.
- Adjunte documentación o especificaciones pertinentes.
- Utiliza rutas de archivos claras y nombres de función.
Itere y mejore
No espere resultados perfectos en el primer intento. Copilot funciona mejor cuando se participa en una conversación iterativa, refinando las solicitudes en función de las respuestas que reciba.
Estrategias para la iteración:
- Si usa sugerencias en línea, elimine e inténtelo de nuevo con un mensaje modificado.
- En El chat de Copilot, haga referencia a las respuestas anteriores y solicite modificaciones específicas.
- Cree soluciones parciales solicitando mejoras incrementales.
Mantener el historial de conversaciones pertinente
El chat de Copilot usa el historial de conversaciones para comprender el contexto, así que administre este historial estratégicamente.
Procedimientos recomendados:
- Inicie nuevos hilos para diferentes tareas o proyectos.
- Elimine solicitudes irrelevantes o incorrectas que puedan confundir las respuestas futuras.
- Mantenga las conversaciones centradas en la funcionalidad relacionada.
Siga los procedimientos recomendados de codificación
La calidad de su código base existente afecta a la capacidad de Copilot para generar sugerencias adecuadas. Mantenga altos estándares en el código para obtener una mejor asistencia de inteligencia artificial.
Factores de calidad del código:
- Use patrones y estilo de código coherentes.
- Elija nombres descriptivos para variables y funciones.
- Agregue comentarios significativos para explicar la lógica compleja.
- Estructura el código en componentes modulares y bien definidos en su ámbito.
- Incluya pruebas unitarias completas.
Note
Puede pedir a Copilot que ayude a mejorar la calidad del código mediante la solicitud de comentarios, sugerencias de refactorización o la separación de funciones grandes en partes más pequeñas y manejables.
Las buenas indicaciones son:
- Claro: Describa exactamente lo que desea.
- Específico: incluya detalles de diseño, comportamiento o estilo.
- Contextual: haga referencia al código o la estructura existentes.
Iteración en avisos
Si la respuesta inicial de GitHub Copilot no se alinea con sus expectativas, es posible que tenga que iterar en el mensaje. Tenga en cuenta estas estrategias:
- Edite el mensaje para que sea más específico.
- Agregue contexto al chat que aclara sus objetivos o requisitos.
- Use Copilot Chat para hacer preguntas de seguimiento que se basan en respuestas anteriores.
Evaluación y respuesta a las sugerencias de Copilot
Comprender cómo evaluar las sugerencias de Copilot es crucial para un vibe coding eficaz. No todas las sugerencias serán perfectas y saber cuándo aceptar, rechazar o modificar respuestas mejorará significativamente su experiencia de desarrollo.
Cuándo aceptar sugerencias
Acepte las sugerencias de Copilot cuando:
- Cumple con tus requisitos: el código hace exactamente lo que pediste.
- Siga los procedimientos recomendados: usa patrones adecuados, convenciones de nomenclatura y estructura.
- Están bien estructurados: el código es legible, fácil de mantener y tiene el formato correcto.
- Incluir el control de errores adecuado: se abordan los casos límite y los posibles fallos.
- Coincidencia con el estilo del proyecto: coherente con los patrones y convenciones de código base existentes.
Ejemplo de una buena sugerencia para aceptar:
Pronto: "Crear una función para validar las direcciones de correo electrónico"
Copilot sugiere:
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (typeof email !== 'string') {
throw new Error('Email must be a string');
}
return emailRegex.test(email.toLowerCase());
}
Esta sugerencia debe aceptarse porque incluye validación de entrada, control de errores y usa un patrón regex razonable.
Cuándo rechazar sugerencias
Rechazar las sugerencias de Copilot cuando:
- No abordes tu instrucción: el código resuelve un problema diferente al solicitado.
- Contener vulnerabilidades de seguridad: use prácticas no seguras o exponga datos confidenciales.
- Son demasiado complejas: tareas sencillas implementadas con complejidad innecesaria.
- Usar métodos en desuso: utilizar APIs anticuadas o obsoletas.
- Falta de control de errores: no tenga en cuenta los posibles escenarios de error.
- Infringir estándares de codificación: no siga las prácticas establecidas del equipo.
Ejemplo de una sugerencia para rechazar:
Pronto: "Crear una función de validación de contraseña segura"
Mala sugerencia:
function validatePassword(password) {
return password.length > 6;
}
Esto se debe rechazar porque es demasiado simple para los requisitos de seguridad y no valida la seguridad de contraseña correctamente.
Cuándo modificar sugerencias
Modifique las sugerencias de Copilot cuando:
- Son principalmente correctos, pero necesitan ajustes: la lógica principal es sólida, pero los detalles necesitan ajustes.
- Necesita características adicionales: la funcionalidad base es buena, pero requiere mejoras.
- Problemas de estilo menores: el código funciona, pero no coincide con las preferencias de formato.
- Requerir nombres de variables diferentes: la lógica es correcta, pero se podría mejorar la nomenclatura.
- Necesita optimizaciones de rendimiento: funcional, pero podría ser más eficaz.
Ejemplo de una sugerencia para modificar:
Copilot sugiere:
function calculateTotal(items) {
let total = 0;
for (let i = 0; i < items.length; i++) {
total += items[i].price;
}
return total;
}
Su modificación para mejorar la legibilidad y javaScript moderno:
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price, 0);
}
Estrategias para mejorar sugerencias
Cuando una sugerencia no es correcta, pruebe estos enfoques:
Refinar el mensaje:
- Agregue requisitos más específicos.
- Incluya ejemplos de entrada y salida esperados.
- Especifique el estilo de programación o el marco de trabajo que está usando.
Modificaciones de solicitud:
- "Hacer que la función anterior sea más sólida con el control de errores".
- "Simplifique el código que acaba de escribir".
- "Agregar tipos TypeScript a la función anterior."
Compilar de forma incremental:
- Comience con una versión básica y solicite mejoras.
- Agregue características una a la vez en lugar de solicitar todo a la vez.
- Pruebe cada iteración antes de pasar a la siguiente mejora.
Tip
Al modificar sugerencias, mantenga las partes que funcionan bien y sean específicas sobre lo que necesita cambiar. Esto ayuda a Copilot a comprender sus preferencias y a proporcionar mejores sugerencias futuras.
Summary
La creación de solicitudes eficaces para GitHub Copilot es esencial para maximizar su potencial en la codificación del ambiente. A partir de descripciones generales, proporcionando ejemplos concretos, desglosando tareas complejas y manteniendo una comunicación clara, puede guiar a Copilot para generar código de alta calidad que satisfaga sus necesidades. La iteración de mensajes y la comprensión de cómo evaluar las sugerencias mejorará aún más la experiencia de desarrollo, lo que le permite aprovechar la asistencia de inteligencia artificial de forma eficaz al tiempo que mantiene el control sobre el proceso de codificación.