Skip to main content

Elección de la herramienta de IA adecuada para la tarea

Comprenda GitHublas herramientas de inteligencia artificial y cómo se pueden usar para ayudar a desarrollar software.

Información general

El uso de herramientas de inteligencia artificial se está convirtiendo cada vez más en una parte estándar del flujo de trabajo diario de un desarrollador de software. Para ser competitivo en el mercado de trabajo, es importante saber qué herramientas de inteligencia artificial usar para cada tarea que se enfrenta como desarrollador.

          GitHubLas herramientas de inteligencia artificial ayudan a cada fase del ciclo de vida de desarrollo de software (SDLC):

* Planificación: * ** chat de Copilot ** puede ayudarle a realizar una lluvia de ideas e identificar las mejores tecnologías para su proyecto. * ** chat de Copilot ** puede crear incidencias para seguir sus ideas. * ** Agente en la nube de Copilot ** puede ayudarle a investigar un repositorio y crear un plan de implementación detallado para la tarea. * Creación de código: * ** Copilot Las sugerencias en línea** ayudan a agregar código mientras escribe. * ** Sugerencias de edición siguientes ** (versión preliminar pública) predice la siguiente edición que es probable que realice y sugiere una finalización para ella. * ** chat de Copilot ** puede responder a preguntas y ofrecer sugerencias en un entorno conversacional.

  • Puede asignar Agente en la nube de Copilot a un problema abierto y generará automáticamente una solicitud de incorporación de cambios para solucionar los cambios necesarios. Como alternativa, Agente en la nube de Copilot puede abrir una rama e iterar en los cambios de código antes de abrir una solicitud de incorporación de cambios.
  •         **Revisiones**
    
    * ** revisión de código Copilot ** proporciona comentarios en su IDE favorito o como una revisión de solicitud de incorporación de cambios en GitHub.
  •         **Pruebas**:
    
    * ** chat de Copilot ** puede ayudarle a escribir y depurar pruebas.
  •         **Implementación**
    
    * ** chat de Copilot ** puede ayudarle a configurar las canalizaciones de integración continua e implementación continua (CI/CD).
  •         **Operación**:
    
    * ** Agente en la nube de Copilot ** puede generar pull requests para incidencias abiertas. * ** chat de Copilot ** puede ayudar con las tareas en las que usted mismo está trabajando.

Planning

Durante la fase de planeación, se definen los objetivos, el ámbito y los requisitos de la project, estableciendo la dirección para el desarrollo mediante la definición de lo que se debe crear y cómo se logrará.

En GitHub, utilice Copilotla creación de incidencias automatizada (versión preliminar pública) para facilitar la gestión de sus ideas. Proporcione un mensaje de lenguaje natural corto (o cargue una imagen) y Copilot generará un problema estructurado automáticamente.

Una vez que haya elegido un problema para solucionarlo, chat de Copilot puede ayudarle a generar ideas para el proyecto y obtener información sobre las diversas herramientas, bibliotecas y recursos que puede necesitar. Puede formular chat de Copilot preguntas generalizadas sobre el proyecto que está imaginando para obtener sugerencias sobre un camino a seguir. Por ejemplo:

I'd like to build an web app that helps users track their daily habits and provides personalized recommendations. Can you suggest features and technologies I could use?

Creación

Durante la fase de creación, escribirás y refinarás el código de la aplicación. Aquí es donde puede dar vida al proyecto mediante la implementación de funcionalidades, la corrección de errores y la realización de iteraciones en el código base.

          Copilot ofrece sugerencias de codificación de estilo autocompletar a medida que codifica en su IDE favorito o en GitHub, lo que le ayuda a crear y refinar el código más rápido. Puede escribir código directamente o describir su intención en lenguaje natural mediante comentarios en el IDE y Copilot generará sugerencias pertinentes.

Con sugerencias de edición siguientes (versión preliminar pública), Copilot predice las ediciones relacionadas en función de los cambios que estás realizando. Por ejemplo, si cambias el nombre de una variable o actualizas los parámetros de una función, sugiere las actualizaciones correspondientes a lo largo del código. Esto ayuda a mantener la coherencia y reduce la posibilidad de errores.

Uso chat de Copilot en modo de pregunta

Use chat de Copilot en modo de pregunta como programador de pares para obtener ayuda con las tareas de codificación, comprender los conceptos complicados y mejorar el código. Puedes formular preguntas, obtener explicaciones o solicitar sugerencias en tiempo real.

  • Can you explain what this JavaScript function does? I'm not sure why it uses a forEach loop instead of a for loop.

  • What’s the difference between let, const, and var in JavaScript? When should I use each one?

Uso chat de Copilot en modo de edición

Use chat de Copilot en modo de edición cuando desee un control más pormenorizado sobre las ediciones que Copilot propone. En el modo de edición, puede elegir en qué archivos Copilot pueden realizar cambios, proporcionar contexto a Copilot con cada iteración y decidir si aceptar o no las modificaciones sugeridas.

  • Refactor the calculateTotal function to improve readability and efficiency.

  • The login function is not working as expected. Can you debug it?

  • Format this code to follow Python’s PEP 8 style guide.

Usando chat de Copilot en modo agente

En el modo de agente, chat de Copilot puede ayudar a automatizar tareas repetitivas y administrar el flujo de trabajo directamente dentro del proyecto. Úsalo para crear solicitudes de incorporación de cambios después de realizar cambios en el código. También puedes usarlo para ejecutar pruebas y linters en segundo plano mientras trabajas en el proyecto.

  • Create a pull request for the recent changes in the user-auth module and include a summary of the updates.

  • Run all tests and linters for the payment-processing module and provide a summary of any issues or errors found.

Reviews

La fase de revisión garantiza la calidad y confiabilidad del código. Implica analizar los cambios, identificar posibles problemas y mejorar la estructura y la funcionalidad generales del código base.

Mientras está codificando en el IDE, pida lo siguiente Copilot :

  •         **Revise una selección de cambios:** Resalte partes específicas del código y solicite Copilot una revisión inicial. Esto es ideal para comentarios rápidos sobre ediciones más pequeñas.
    
  •         **Review all changes:** Solicite una revisión más profunda de todos los cambios de un archivo o un proyecto. 
            Copilot analizará el trabajo y proporcionará sugerencias para mejorar.
    

Cuando esté listo para recibir comentarios de otros usuarios de la GitHub página web, primero asigne Copilot como revisor en el pull request. Agregará automáticamente comentarios para resaltar las áreas en las que puede mejorar la calidad del código o identificar posibles errores antes de la revisión humana.

Testing

La fase de prueba valida que la aplicación funciona según lo previsto. Esta fase implica escribir y ejecutar pruebas para detectar errores, garantizar la funcionalidad y mantener la calidad del código antes de la implementación.

          **
          chat de Copilot
          ** puede ayudar al generar pruebas unitarias e de integración, depurar errores y sugerir casos de prueba adicionales para garantizar una cobertura completa. Estos son algunas indicaciones de ejemplo:
  • Write unit tests for this function to calculate the factorial of a number. Include edge cases like 0 and negative numbers.

  • How do I run these tests using Python's unittest framework?

  • Write integration tests for the deposit function in the BankAccount class. Use mocks to simulate the NotificationSystem.

  • What additional tests should I include to ensure full coverage for this module?

Despliegue

La fase de implementación implica preparar el código para producción y garantizar una versión sin problemas.

          **
          chat de Copilot
          ** puede ayudarle a configurar scripts de implementación, configurar canalizaciones de CI/CD y solucionar problemas. Estos son algunas indicaciones de ejemplo:
  • Write a deployment script for a Node.js application using GitHub Actions to deploy to an AWS EC2 instance.

  • Set up a GitHub Actions workflow to build, test, and deploy a Python application to Heroku.

  • Analyze this deployment log and suggest why the deployment failed.

Operation

Durante la fase de operación, el enfoque consiste en mantener y supervisar la aplicación en producción para asegurarse de que se ejecuta sin problemas y satisface las expectativas del usuario. Esta fase suele implicar tareas como depurar problemas de producción, optimizar el rendimiento y garantizar la confiabilidad del sistema.

Puede usar Agente en la nube de Copilot como agente autónomo que pueda ayudar a mantener y mejorar la aplicación en producción. Asigne un GitHub problema a Copiloty explorará de forma autónoma el repositorio, identificará posibles correcciones y creará una solicitud de incorporación de cambios con los cambios propuestos. A continuación, solicitará automáticamente que realices una revisión.

Para los problemas que está abordando usted mismo, use chat de Copilot para ayudar a analizar registros, depurar problemas y sugerir optimizaciones. Por ejemplo:

  • Analyze this error log and suggest possible causes for the issue.

  • Write a script to monitor the memory usage of this application and alert when it exceeds a threshold.

  • How can I optimize the database queries in this code to improve performance?

Pasos siguientes

Antes de iniciar la siguiente tarea, dedica un momento a identificar la herramienta adecuada para que el trabajo sea más rápido y eficaz.

¿Te sientes preparado para identificar la herramienta de IA adecuada para la siguiente tarea?

          <a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
          <span>Yes</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>No</span></a>