Durante os últimos dous anos, o meu equipo de Work & Co e eu estivemos probando e integrando gradualmente ferramentas de codificación de IA como Copilot, Cursor, Claude e ChatGPT para axudarnos a enviar experiencias web que son utilizadas polas masas. É certo que despois dun escepticismo inicial e uns momentos, varias ferramentas de IA atoparon o seu camiño no meu uso diario. Co paso do tempo, a lista de aplicacións nas que consideramos que tiña sentido deixar que a IA tomase o relevo comezou a crecer, polo que decidín compartir algúns casos prácticos de uso das ferramentas de IA para o que chamo o "desenvolvedor responsable". Que quero dicir por un desenvolvedor responsable? Temos que asegurarnos de ofrecer un código de calidade tal e como esperan os nosos clientes e partes interesadas. As nosas contribucións (é dicir, as solicitudes de extracción) non deben converterse nunha carga para os nosos compañeiros, que terán que revisar e probar o noso traballo. Ademais, no caso de que traballes para unha empresa: As ferramentas que utilizamos teñen que estar aprobadas polo noso empresario. Os aspectos sensibles como a seguridade e a privacidade deben tratarse correctamente: non pegue segredos, datos de clientes (PII) ou código propietario en ferramentas sen a aprobación da política. Trátao como código dun estraño en Internet. Proba e verifica sempre. Nota: Este artigo supón unha familiaridade moi básica coas ferramentas de codificación da IA como Copilot dentro de VSCode ou Cursor. Se todo isto che parece totalmente novo e descoñecido, os videotutoriais de Github Copilot poden ser un fantástico punto de partida para ti.
Aplicacións útiles de ferramentas de codificación AI Nota: os seguintes exemplos centraranse principalmente en traballar en aplicacións web baseadas en JavaScript como React, Vue, Svelte ou Angular. Comprender unha base de código descoñecida Non é raro traballar en bases de código establecidas e unirse a unha gran base de código herdada pode ser intimidante. Só ten que abrir o seu proxecto e o seu axente de IA (no meu caso, Copilot Chat en VSCode) e comezar a facer preguntas como lle farías a un colega. En xeral, gústame falar con calquera axente de IA do mesmo xeito que o faría cun compañeiro humano. Aquí tes un exemplo de solicitude máis refinado: "Dáme unha visión xeral da arquitectura de alto nivel: puntos de entrada, enrutamento, autenticación, capa de datos, ferramentas de compilación. A continuación, enumera 5 ficheiros para ler en orde. Trata as explicacións como hipóteses e confírmalas pasando aos ficheiros referenciados".
Podes seguir facendo preguntas de seguimento como "Como funciona o enrutamento en detalle?" ou "Fálame sobre o proceso e os métodos de autenticación" e levarache a instrucións útiles para iluminar a escuridade dunha base de código descoñecida. Probando cambios de ruptura ao actualizar as dependencias Actualizar os paquetes npm, especialmente cando veñen con cambios rotundos, pode ser un traballo tedioso e lento, e facerche depurar unha boa cantidade de regresións. Recentemente tiven que actualizar a biblioteca de visualización de datos plotly.js nunha versión principal da versión 2 á 3 e, como resultado diso, a etiquetaxe do eixe nalgúns gráficos deixou de funcionar. Continuei preguntando a ChatGPT: "Actualizou o meu proxecto Angular que usa Plotly. Actualizou o plotly.js - o paquete dist da versión 2.35.2 á 3.1.0 - e agora desapareceron as etiquetas dos eixes x e y. Que pasou?"
O axente volveu cunha solución de inmediato (ver por si mesmo a continuación). Nota: aínda verifiquei a explicación coa guía oficial de migración antes de enviar a corrección.
Replicando refactores de forma segura entre ficheiros As bases de código crecentes sen dúbida revelan oportunidades para a consolidación de código. Por exemplo, observa a duplicación de código en ficheiros que se poden extraer nunha única función ou compoñente. Como resultado, decide crear un compoñente compartido que se pode incluír no seu lugar e realizar ese refactor nun ficheiro. Agora, en lugar de realizar manualmente eses cambios nos ficheiros restantes, pídelle ao seu axente que desenvolva o refactor por vostede. Os axentes permítenche seleccionar varios ficheiros como contexto. Unha vez feito o refactor para un ficheiro, podo engadir os ficheiros refactorizados e non tocados no contexto e pedirlle ao axente que realice os cambios noutros ficheiros como este: "Replica os cambios que fixen no ficheiro A no ficheiro B tamén". Implementación de características en tecnoloxías descoñecidas Un dos meus momentos favoritos usando ferramentas de codificación de intelixencia artificial foi cando me axudou a crear unha animación de gradiente animada bastante complexa en GLSL, unha linguaxe que non coñecía bastante. Nun proxecto recente, os nosos deseñadores crearon un gradiente animado como estado de carga nun obxecto 3D. Gustoume moito o concepto e quería ofrecer algo único e emocionante aos nosos clientes. Oproblema: só tiña dous días para implementalo, e GLSL ten unha curva de aprendizaxe bastante pronunciada. De novo, unha ferramenta de intelixencia artificial (neste caso, ChatGPT) resultou útil e comecei a pedirlle simplemente que crease un ficheiro HTML autónomo que representase un lenzo e un degradado de cor animado moi sinxelo. Paso tras paso, pedínlle á IA que lle engada máis delicadeza ata que cheguei a un resultado decente para poder comezar a integrar o sombreador na miña base de código real. O resultado final: os nosos clientes estaban moi contentos e ofrecemos unha función complexa nun pequeno período de tempo grazas á IA. Probas de redacción Segundo a miña experiencia, raramente hai tempo suficiente nos proxectos para escribir e manter continuamente un conxunto adecuado de probas unitarias e de integración e, ademais, moitos desenvolvedores non lles gusta moito a tarefa de escribir probas. Solicitarlle ao teu axudante de IA que configure e escriba probas para ti é totalmente posible e pódese facer nun pequeno período de tempo. Por suposto, ti, como programador, aínda debes asegurarte de que as túas probas realmente lle dean unha ollada ás partes críticas da túa aplicación e seguen principios de proba sensatos, pero podes "subcontratar" a redacción das probas ao noso axudante de IA. Indicador de exemplo: "Escribe probas unitarias para esta función usando Jest. Cubre o camiño feliz, os casos extremos e os modos de falla. Explica por que existe cada proba".
Incluso podes transmitirlle as mellores prácticas de probas do gurú das probas Kent C. Dodds como pautas ao teu axente, como a continuación:
Ferramentas internas Un pouco semellante ao exemplo de sombreado mencionado anteriormente, recentemente encargáronme analizar a duplicación de código nunha base de código e comparar antes e despois dun refactor. Certamente non é unha tarefa trivial se non queres seguir a longa ruta de comparar ficheiros manualmente. Coa axuda de Copilot, creei un script que analizaba a duplicación de código para min, organizaba e ordenaba a saída nunha táboa e exportaba a Excel. Despois dei un paso máis. Cando rematou o refactor do noso código, pedínlle ao axente que tomase a miña folla de Excel existente como liña de base, engada o estado actual de duplicación en columnas separadas e calculase o delta. Actualizando o código escrito hai moito tempo Recentemente, un antigo cliente meu entroume, xa que co paso do tempo, algunhas funcións xa non funcionaban correctamente no seu sitio web. O problema: o sitio web foi construído hai case dez anos, e JavaScript e SCSS usaban ferramentas de compilación bastante antigas como requireJS, e a configuración requiría unha versión máis antiga de Node.js que nin sequera funcionaría no meu MacBook de 2025. Actualizar todo o proceso de compilación a man levaríame días, polo que decidín preguntarlle ao axente de IA: "Podes actualizar o proceso de compilación JS e SCSS a unha pila lean 2025 como Vite?" Seguro que o fixo, e despois dunha hora de refinar co axente, cambiei a miña compilación SCSS e JS a Vite e puiden concentrarme na corrección de erros. Só asegúrese de validar correctamente os ficheiros de saída e compilados cando faga tales cambios integrais no seu proceso de compilación. Resumo E Redacción Gustaríache resumir todos os cambios recentes no código nunha frase para unha mensaxe de confirmación ou ter unha longa lista de confirmacións e queres resumilos en tres viñetas? Non hai problema, deixa que a IA se encargue diso, pero asegúrate de corrixilo. Un exemplo de indicación é tan sinxelo como enviar unha mensaxe a un compañeiro humano: "Por favor, resuma os meus cambios recentes en viñetas concisas". O meu consello aquí sería usar GPT para escribir con precaución e, como ocorre co código, comprobe a saída antes de enviar ou enviar. Recomendacións e boas prácticas Incitando Un dos beneficios non tan obvios do uso da IA é que cantos máis específicos e adaptados sexan os teus avisos, mellor será a saída. O proceso de solicitar a un axente de IA obríganos a formular os nosos requisitos o máis especificamente posible antes de escribir e codificar. É por iso que, como regra xeral, recomendo ser o máis específico posible coas súas indicacións. Ryan Florence, coautor de Remix, suxire un xeito sinxelo pero poderoso de mellorar este proceso rematando o seu indicador inicial coa frase: "Antes de comezar, tes algunha pregunta para min?"
Neste punto, a IA normalmente volve con preguntas útiles nas que podes aclarar a túa intención específica, guiando ao axente para que che proporcione un enfoque máis personalizado para a túa tarefa.
Use o control de versións e traballe en anacos dixeribles Usar o control de versións como git non só é útil cando se colabora en equipo nunha única base de código, senón tamén para ofrecerche como uncolaborador individual con puntos estables aos que retrotraer en caso de emerxencia. Debido á súa natureza non determinista, a intelixencia artificial ás veces pode volverse maligna e facer cambios que simplemente non son útiles para o que estás a conseguir e, finalmente, romper as cousas de forma irreparable. Dividir o teu traballo en varias commits axudarache a crear puntos estables aos que podes volver en caso de que as cousas saian de lado. E os teus compañeiros tamén che agradecerán, xa que lles será máis fácil revisar o teu código cando estea dividido en anacos ben estruturados semánticamente. Revisa a fondo Esta é máis unha boa práctica xeral, pero na miña opinión, faise aínda máis importante cando se usan ferramentas de IA para o traballo de desenvolvemento: Sexa o primeiro revisor crítico do teu código. Asegúrate de dedicar un tempo a repasar os teus cambios liña por liña, do mesmo xeito que revisarías o código doutra persoa, e só envía o teu traballo unha vez que supere a túa propia revisión. "Dúas cousas son certas para min agora mesmo: os axentes de IA son incribles e un gran aumento da produtividade. Tamén son máquinas de desbordamento masivo se apagas o cerebro e o deixas ir por completo. "- Armin Ronacher na súa publicación de blog Axente Psicose: estamos enloqueciendo?
Conclusión e pensamentos críticos Na miña opinión, as ferramentas de codificación da intelixencia artificial poden mellorar a nosa produtividade como desenvolvedores a diario e liberar capacidade mental para unha maior planificación e pensamento de alto nivel. Obrígannos a articular o noso resultado desexado con detalle minucioso. Calquera IA pode, ás veces, alucinar, o que basicamente significa que está nun ton confiado. Polo tanto, asegúrate de comprobar e probar, especialmente cando teñas dúbidas. A IA non é unha bala de prata, e creo que a excelencia e a capacidade de resolver problemas como desenvolvedor nunca pasarán de moda. Para os desenvolvedores que están comezando a súa carreira, estas ferramentas poden ser moi tentadoras para facer a maior parte do traballo por eles. O que pode perderse aquí é o traballo a miúdo esgotador e doloroso a través de erros e problemas que son complicados de depurar e resolver, tamén coñecido como "a moenda". Incluso o propio Lee Robinson de Cursor AI cuestiona isto nunha das súas publicacións:
As ferramentas de codificación da intelixencia artificial están evolucionando a un ritmo rápido e estou entusiasmado co que virá a continuación. Espero que este artigo e os seus consellos che resulten útiles e que teñas ganas de probar algúns destes por ti mesmo.