Cualquier IA como Copilot o ChatGPT pueden tener alucinaciones por eso es importante tener contexto y conocimiento sobre el lenguaje que estas usando y tener claro los requerimientos de lo que estas desarrollando.
AI en equipos de Software
La Inteligencia Artificial es Inevitable
GitHub Copilot
GitHub Copilot: Pair Programing con IA
Implementar un REST API con GitHub Copilot
Escribir Pruebas Unitarias con GitHub Copilot
Github copilot chat
Github Copilot CLI
IA en VSCode
Crear una Aplicación Web con Amazon CodeWhisperer
Refactorización de código con Intellicode
Debugging
Inteligencia artificial en la terminal de comandos
Depurar código usando ChatGPT
Docs
Escribir documentacion de código con Inteligencia Artificial
Github Copilot Docs
Herramientas de IA
Entrevista: Inteligencia Artificial en el Desarrollo de Software
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Mariangélica Useche
Exploraremos cómo emplear Copilot y los Chats GPT para impulsar proyectos de desarrollo en React y JavaScript, tomando como ejemplo el desarrollo y las pruebas de un componente existente, así como su optimización.
Primero, es necesario configurar el entorno para que funcione ejecutando pruebas con Yes y React Testing Library. Con un proyecto en React preparado en la carpeta Utils, se crea una utilidad que calcula el precio total de los productos.
Primero, se crea una carpeta y un archivo relacionado con las pruebas. Después, se importa la función para que Copilot tenga el contexto de lo que se va a probar.
Copilot comenzará a autocompletar lo que serían las pruebas, sin embargo, es importante revisar el código para asegurar que esté completo y correctamente escrito. Esto incluye añadir paréntesis para finalizar las líneas de código y corregir cualquier importación errónea.
Con Copilot, las pruebas propuestas incluyen: * Retornar cero cuando ningún producto es pasado. * Calcular el total de un solo producto. * Retornar el precio de múltiples productos.
El proceso se repite hasta que todas las pruebas funcionen correctamente.
Aparte de probar funciones existentes, se puede utilizar TDD para crear nuevas funciones a partir de las pruebas. Por ejemplo, al crear un archivo de test para fechas y definir una función para comparar fechas, Copilot sugiere autocompletar para probar diferentes escenarios, tales como:
Al ser más específicos en las instrucciones para Copilot, se pueden generar resultados más alineados con los requerimientos del proyecto.
Copilot también puede ser aplicado para probar componentes de React, como el componente OrderCard. Sin embargo, es importante tener cuidado con las aserciones generadas por Copilot y revisar que la lógica y los propósitos del test se correspondan con los requisitos del componente.
Finalmente, es posible agilizar el desarrollo de pruebas unitarias utilizando Chats GPT, brindando instrucciones para las pruebas y pegando el componente a probar. Es relevante mencionar que con Chats GPT se pueden probar ambas propiedades al mismo tiempo, en vez de probar cada una por separado.
El uso de estas herramientas de inteligencia artificial para acelerar proyectos de desarrollo en React y JavaScript añade un valor significativo a la eficiencia y precisión de las pruebas, pero siempre es importante mantener un sentido crítico y hacer revisiones adicionales.
Aportes 18
Preguntas 6
Cualquier IA como Copilot o ChatGPT pueden tener alucinaciones por eso es importante tener contexto y conocimiento sobre el lenguaje que estas usando y tener claro los requerimientos de lo que estas desarrollando.
El Test Development Driven (TDD) incita al desarrollador primero a comprender el proceso de negocio solicitado en el requerimiento o necesidad para luego diseñar y desarrollar software que permita obtener los resultados esperados contenidos en los criterios de aceptación.
TDD me parece una gran herramienta para hacer ingeniería de prompt al desarrollar con AI pair programming con herramientas como Github Copilot ya que considero que contiene los elementos fundamentales necesarios para refinar este tipo de prompts los cuales son: especificar un objetivo concreto, expresar criterios de aceptación y proporcionar contexto.
Alucinante la forma para hacer los tests con Copilot
Las pruebas unitarias, también conocidas como “unit tests” en inglés, son un tipo de prueba en el desarrollo de software que se centra en evaluar individualmente las unidades más pequeñas de código de un programa. Una unidad de código generalmente se refiere a una función, método o procedimiento específico en un programa. El objetivo principal de las pruebas unitarias es verificar que cada unidad de código funcione correctamente de manera aislada, es decir, que produzca los resultados esperados cuando se le proporcionan entradas específicas.
Aquí hay algunas características clave de las pruebas unitarias:
Aislamiento: Las pruebas unitarias se diseñan para probar una sola unidad de código a la vez, sin depender de otras partes del programa. Cualquier dependencia externa, como bases de datos o servicios web, se simula o se utilizan “dobles” (como mocks o stubs) para garantizar el aislamiento.
Automatización: Las pruebas unitarias se ejecutan automáticamente mediante herramientas de prueba específicas. Esto permite una rápida detección de errores y facilita la incorporación de pruebas en el proceso de desarrollo continuo.
Rapidez: Dado que las pruebas unitarias se enfocan en unidades de código pequeñas, generalmente son rápidas de ejecutar. Esto permite una retroalimentación rápida sobre la funcionalidad de las unidades individuales y facilita la detección temprana de problemas.
Repetibilidad: Las pruebas unitarias deben ser repetibles, lo que significa que deberían dar los mismos resultados cada vez que se ejecuten, siempre que las entradas sean las mismas.
Facilitan la refactorización: Las pruebas unitarias proporcionan un nivel de seguridad al realizar cambios en el código existente. Si todas las pruebas unitarias siguen pasando después de una refactorización, es más probable que el código siga funcionando correctamente.
Documentación viva: Las pruebas unitarias también sirven como documentación viva del comportamiento esperado de una unidad de código. Otros desarrolladores pueden revisar las pruebas para comprender cómo se supone que debe funcionar el código.
En resumen, las pruebas unitarias son una práctica esencial en el desarrollo de software que ayuda a garantizar la calidad y la fiabilidad del código al verificar que las unidades de código individuales funcionen según lo previsto. Estas pruebas son una parte fundamental de la metodología de desarrollo de software conocida como Desarrollo Basado en Pruebas (Test-Driven Development, TDD) y son una práctica común en la ingeniería de software moderna.
Es importante tener en cuenta que al trabajar con IA, resulta altamente beneficioso ser detallado y específico en nuestras solicitudes.
✅
esta tambien la AI de Bard pero parece que solo esta en version de idioma ingles
Cuando utilicemos este tipo de tecnologías como apoyo, es esencial realizar revisiones para asegurarnos de que las acciones que están siendo realizadas tengan coherencia y sentido.
Para explorar las opciones alternativas proporcionadas por Copilot, simplemente debes ubicarte sobre el código generado y observar las diversas alternativas que esta herramienta te ofrece.
Por algún motivo se traba demasiado este video, que incomodo.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?