Tutorials

IA para PHP: cómo generar implementaciones de pruebas con AI Assistant

Read this post in other languages:

Comenzamos esta serie examinando cómo JetBrains AI Assistant puede generar pruebas a partir de una implementación existente. Pero ¿qué pasa si queremos utilizar AI Assistant al revés? ¿Qué pasa si queremos adoptar un enfoque de desarrollo basado en pruebas, escribiendo primero nuestras pruebas y luego permitiendo que AI Assistant genere una implementación para nosostros?

Echemos un vistazo a cómo podemos hacerlo.

Generar código con el chat de AI Assistant

El primer paso para generar una implementación es tener una prueba en su lugar. Supongamos que estamos construyendo un bus de comandos y tenemos la siguiente prueba:

No hemos escrito nada más: aún no existe la clase CommandBus, y mucho menos una implementación para los métodos handle y getHistory. Utilicemos AI Assistant para que genere la implementación por nosotros. Para empezar, abra el menú AI Actions seleccionando el texto y pulsando Alt+Intro / ⌥Intro. A continuación, seleccione New Chat Using Selection:

PhpStorm abrirá la ventana de chat de AI Assistant. Aquí puede chatear con AI Assistant y preguntarle lo que desee. El fragmento de código seleccionado ya estará presente en la ventana de chat, así que hagamos una petición simple: «write an implementation for this test» (escribe una implementación para esta prueba):

En pocos segundos, AI Assistant tendrá la implementación lista:

Copiemos este código en un archivo y ejecutemos nuestra prueba para ver qué sucede:

¡Funciona! AI Assistant ha escrito una implementación funcional para nuestra prueba. Al revisar el código, parece una implementación sólida, aunque cambiaremos algunos detalles estilísticos. Nuestro objetivo con AI Assistant a lo largo de esta serie no ha sido que AI Assistant escriba el código perfecto por nosotros, sino generar el código reutilizable más aburrido que podemos utilizar como punto de partida, lo que nos permite ahorrar un tiempo muy valioso. ¡Y eso es exactamente lo que ha hecho AI Assistant!

¿Qué pasa si queremos utilizar esta petición varias veces? ¿Es posible reutilizarla?

¡Por supuesto!

Guardar peticiones personalizadas

Abra el menú AI Actions pulsando Alt+Intro / ⌥Intro en algún lugar dentro del código. En lugar de elegir un elemento de menú existente, haga clic en el enlace Add Your Prompt en la parte inferior:

PhpStorm le permite escribir peticiones personalizadas y guardarlas como acciones de IA personalizadas, que es lo que queremos hacer en este caso. Dentro de estas peticiones puede utilizar la variable $SELECTION, que contendrá el código seleccionado al invocar su petición personalizada.

Escribamos una petición para nuestro caso de uso: crear la implementación para una prueba seleccionada:

¡Intentémoslo! Seleccione la prueba de nuevo, presione Alt+Intro / ⌥Intro para abrir el menú AI Actions ¡y verá cómo la acción personalizada Write Implementation ahora está disponible!

Seleccione la acción y verá que PhpStorm escribe inmediatamente el mensaje correcto a AI Assistant, ¡lo que nos permite reutilizar nuestra acción asistida por IA!

Conclusión

A lo largo de esta serie hemos visto varios ejemplos de cómo podemos utilizar AI Assistant en nuestro beneficio. No esperamos que escriba código perfecto, pero lo utilizamos para generar código reutilizable que podamos usar de punto de partida. Resulta interesante ver el nivel de corrección del código que escribe AI Assistant, y espero ver cómo mejora aún más en las próximas versiones.

Personalmente, no creo que la IA reemplace a los programadores reales a corto plazo, pero sí creo que es una herramienta genial que puede ayudar a acelerar el proceso de escribir código, especialmente en las partes rutinarias, para que así podamos concentrarnos en las partes del código que más importan.

¿Cuáles son sus expectativas en relación con la asistencia de la IA en su trabajo? ¡Déjenos su opinión en los comentarios!

Enlaces útiles

¿Le ha gustado este artículo? Aquí puede ver otros artículos de esta serie:

Recursos:

Vídeos:

Artículo original en inglés de:

Luiz Di Bella

Brent Roose

image description

Discover more