Examen de los procedimientos recomendados de GitHub Copilot
Las extensiones de GitHub Copilot para Visual Studio Code ayudan a los desarrolladores a escribir código más rápido y con menos errores.
Sin embargo, GitHub Copilot es un programador de pares de IA, no es un programador. Para sacar el máximo partido a las herramientas de GitHub Copilot, debe seguir los procedimientos recomendados.
Elección de la herramienta de GitHub Copilot adecuada para el trabajo
Aunque las características de finalización de código de GitHub Copilot y las características de chat de GitHub Copilot comparten algunas funcionalidades, las dos herramientas se usan mejor en circunstancias diferentes.
Las finalizaciones de código proporcionan el máximo valor cuando se usan para:
- Complete fragmentos de código, nombres de variable y funciones a medida que los escriba.
- Generar código repetitivo.
- Genere código a partir de comentarios insertados en lenguaje natural.
- Generar pruebas para el desarrollo controlado por pruebas.
Como alternativa, las características de chat de GitHub Copilot proporcionan el máximo valor cuando se usan para:
- Responda a preguntas sobre el código en lenguaje natural.
- Genera grandes secciones de código y, a continuación, itera sobre ese código para satisfacer tus necesidades.
- Realice tareas específicas con palabras clave y aptitudes. GitHub Copilot Chat usa palabras clave integradas (y aptitudes diseñadas para proporcionar contexto importante) dentro de avisos para realizar tareas comunes rápidamente. Hay diferentes tipos de palabras clave y aptitudes disponibles en diferentes plataformas de chat de GitHub Copilot.
- Complete una tarea como una persona específica. Por ejemplo, puede indicar a GitHub Copilot Chat que es un desarrollador sénior de C++ que se preocupa en gran medida por la calidad del código, la legibilidad y la eficacia. Después de establecer la persona, puede pedir a GitHub Copilot que revise su código.
Aprovecha al máximo las sugerencias en línea de GitHub Copilot
La extensión GitHub Copilot presenta sugerencias automáticamente para ayudarle a codificar de forma más eficaz. GitHub Copilot proporciona mejores sugerencias al seguir determinadas acciones y comportamientos. Es posible que ya siga algunas de estas acciones y comportamientos, ya que también le ayudarán a usted y a sus compañeros a comprender el código.
Proporcionar contexto para GitHub Copilot
GitHub Copilot funciona mejor cuando tiene suficiente contexto para saber qué está haciendo y en qué necesita ayuda. Al igual que proporciona a un compañero contexto relevante al solicitar ayuda, debe proporcionar a GitHub Copilot el contexto.
Archivos abiertos
Para las finalizaciones de código, GitHub Copilot examina los archivos que están abiertos en el editor para establecer el contexto y crear sugerencias adecuadas. Tener archivos relacionados abiertos en Visual Studio Code mientras se usa GitHub Copilot ayuda a definir el contexto y permite GitHub Copilot ver la imagen más grande del proyecto.
Comentario de nivel superior
Al igual que proporcionaría una breve introducción de alto nivel a un compañero de trabajo, un comentario de nivel superior en un archivo de código puede ayudar a GitHub Copilot comprender el contexto general del código que está creando.
Inclusiones y referencias apropiadas
Es mejor establecer manualmente las referencias de inclusión o de módulo que necesita para su trabajo. GitHub Copilot puede realizar sugerencias, pero es probable que sepa mejor qué dependencias necesita incluir. Esto también puede informar a GitHub Copilot sobre los marcos, las bibliotecas y sus versiones que le gustaría usar al elaborar sugerencias.
Nombres de función significativos
Al igual que un método denominado fetchData() no significará mucho para un compañero de trabajo (o para ti después de varios meses), fetchData() no ayudará a GitHub Copilot a comprender el código. El uso de nombres de función significativos ayuda a GitHub Copilot a generar sugerencias que hagan lo que desee.
Comentarios de funciones específicas y bien delimitadas
Un nombre de función solo puede ser descriptivo si no es demasiado largo. Los comentarios de función pueden ayudar a rellenar los detalles que es posible que GitHub Copilot necesiten saber.
Prime GitHub Copilot con código de ejemplo
Un truco para obtener GitHub Copilot en la página derecha es copiar y pegar ejemplos de código deseables en una pestaña del editor abierto. El ejemplo debe representar el código que desea GitHub Copilot emular. Proporcionar un ejemplo puede ayudar a GitHub Copilot generar sugerencias que coincidan con el idioma y las tareas que quiere que emulen. Una vez que GitHub Copilot le ha ayudado a crear código que coincida con el objetivo, puede eliminar el código de ejemplo. Este enfoque es especialmente útil cuando se necesita "entrenar" GitHub Copilot. Por ejemplo, supongamos que GitHub Copilot se predetermina a sugerir fragmentos de código que implementen una versión anterior de una biblioteca. Puede insertar código en el proyecto que use la versión más reciente de la biblioteca. Esto ayuda a GitHub Copilot a empezar a sugerir fragmentos de código que usan la versión más reciente de la biblioteca. Una vez que GitHub Copilot ha aprendido a usar la nueva versión de biblioteca, puede eliminar el código de ejemplo.
Ser coherente y mantener el nivel de calidad alto
GitHub Copilot se aferrará a tu código para generar sugerencias que sigan el patrón existente, por lo que se aplica el dicho "garbage in, garbage out".
Mantener siempre un nivel de alta calidad requiere disciplina. Especialmente cuando codifica rápido para que algo funcione. Puede que quiera deshabilitar las completaciones de GitHub Copilot mientras esté en modo "hacking". Puede deshabilitar temporalmente las finalizaciones en el menú de estado de GitHub Copilot (accesible desde la barra de estado de Visual Studio Code).
Sacar el máximo partido de GitHub Copilot Chat
Al usar las características de chat de GitHub Copilot, hay varias cosas que puede hacer para optimizar su experiencia.
Inicie general y, a continuación, obtenga información específica.
Al escribir una instrucción para GitHub Copilot, proporcione primero a GitHub Copilot una descripción amplia del objetivo o escenario. A continuación, enumere los requisitos específicos. Tenga en cuenta las siguientes indicaciones:
- Escriba una función que me indique si un número es primo.
- La función debe tomar un entero y devolver true si el entero es primo.
- La función debe producir un error si la entrada no es un entero positivo.
Dar ejemplos
Use ejemplos para ayudar a GitHub Copilot comprender lo que desea. Puede proporcionar datos de entrada de ejemplo, salidas de ejemplo e implementaciones de ejemplo.
Dividir tareas complejas en tareas más sencillas
Si desea GitHub Copilot completar una tarea compleja o grande, divida la tarea en varias tareas sencillas y pequeñas. Por ejemplo, en lugar de pedir a GitHub Copilot que genere un rompecabezas de búsqueda de palabras, divida el proceso en tareas más pequeñas y pida a GitHub Copilot que los realice uno por uno:
- Escriba una función para generar una cuadrícula de 10 a 10 letras.
- Escriba una función para buscar todas las palabras en una cuadrícula de letras, dada una lista de palabras válidas.
- Escriba una función en que use las funciones anteriores para generar una cuadrícula de 10 a 10 letras que contenga al menos 10 palabras.
- Actualice la función anterior para imprimir la cuadrícula de letras y 10 palabras aleatorias desde la cuadrícula.
Evita la ambigüedad.
Evite términos ambiguos. Por ejemplo, no pregunte "qué hace esto" cuando "this" podría ser el archivo actual, la última GitHub Copilot respuesta o un bloque de código específico. En lugar de usar términos ambiguos, sea específico: ¿Qué hace la función createUser?
Indica el código pertinente
Si usa GitHub Copilot Chat en el IDE, abra los archivos o resalte el código al que desea hacer referencia GitHub Copilot. Use participantes de chat, comandos de barra diagonal y variables de chat en las solicitudes para definir el contexto. Por ejemplo, especifique los archivos que GitHub Copilot Chat debe hacer referencia.
Usar participantes de chat, comandos de barra diagonal y variables de chat
Los participantes de chat están diseñados para recopilar contexto adicional sobre una base de código o un dominio o tecnología específicos. Al especificar el participante adecuado, GitHub Copilot Chat puede encontrar y proporcionar una mejor información para enviar al back-end de GitHub Copilot. Por ejemplo, use @workspace al formular preguntas sobre el proyecto abierto o @vscode al hacer preguntas sobre las características y las API de Visual Studio Code.
Los comandos de barra diagonal ayudan a GitHub Copilot Chat a comprender su intención al formular una pregunta. ¿Está aprendiendo sobre una base de código (/explain), ¿quiere ayuda para corregir un problema (/fix) o está creando casos de prueba (/tests)? Al permitir que GitHub Copilot Chat sepa lo que intenta hacer, puede ajustar su respuesta a la tarea y proporcionar comandos, configuraciones y fragmentos de código útiles.
Los participantes del chat, como @workspace o @vscode, pueden contribuir a variables de chat que proporcionan contexto específico del dominio. Puede hacer referencia a una variable de chat en su mensaje de chat utilizando el símbolo #. Puede usar variables de chat para ser más específico acerca del contexto de su prompt.
Por ejemplo, la variable de chat #file le permite hacer referencia a archivos específicos desde el área de trabajo en el mensaje de chat. Esto ayuda a que las respuestas de GitHub Copilot Chat sean más relevantes para el código al proporcionar contexto sobre el archivo con el que trabaja. Puede formular preguntas como "Can you suggest improvements to #file:package.json?" o "How do I add an extension in #file:devcontainer.json?". El uso de la variable #file puede ayudarle a obtener respuestas más específicas y precisas de GitHub Copilot.
Experimento e iteración
Si no obtiene el resultado que desea, itera en el símbolo del sistema e inténtelo de nuevo. Haga referencia a la respuesta anterior en la siguiente solicitud. También puede eliminar la respuesta anterior y empezar de nuevo.
Mantener el historial relevante
GitHub Copilot Chat usa el historial de chats para obtener contexto sobre la solicitud. Para asegurarse de que GitHub Copilot usa un historial de chat relevante:
- Usa hilos para iniciar una nueva conversación para una nueva tarea.
- Elimine las solicitudes que ya no sean de interés o que no le hayan dado los resultados deseados.
Siga los procedimientos recomendados de codificación.
Si no recibe las respuestas que desea al pedir GitHub Copilot sugerencias, asegúrese de que el código existente sigue los procedimientos recomendados y es fácil de leer. Por ejemplo:
- Use un estilo y patrones de código coherentes.
- Use nombres descriptivos para variables y funciones.
- Comente el código.
- Estructura tu código en componentes con ámbito modular.
- Incluir pruebas unitarias.
Resumen
GitHub Copilot es una herramienta eficaz que puede ayudarle a escribir código más rápido y con menos errores. Sin embargo, para sacar el máximo partido de GitHub Copilot, debe seguir los procedimientos recomendados. Al elegir la herramienta de GitHub Copilot adecuada para el trabajo, proporcionar contexto y seguir procedimientos recomendados de codificación, puede optimizar su experiencia con GitHub Copilot.