Son iki il ərzində Work & Co-dakı komandam və mən kütlələr tərəfindən istifadə olunan veb təcrübələrini çatdırmaqda bizə kömək etmək üçün Copilot, Cursor, Claude və ChatGPT kimi süni intellekt kodlaşdırma alətlərini sınaqdan keçirdik və tədricən inteqrasiya etdik. Düzdür, bəzi ilkin skeptisizmdən və bir neçə aha anından sonra müxtəlif AI alətləri mənim gündəlik istifadəsimə yol tapdı. Zaman keçdikcə süni intellektə keçməyə icazə verməyi düşündüyümüz tətbiqlərin siyahısı böyüməyə başladı, buna görə də mən “məsul tərtibatçı” adlandırdığım AI alətləri üçün bəzi praktiki istifadə hallarını bölüşmək qərarına gəldim. Məsuliyyətli tərtibatçı dedikdə nəyi nəzərdə tuturam? Biz maraqlı tərəflərimiz və müştərilərimiz tərəfindən gözlənildiyi kimi keyfiyyətli kodu təqdim etdiyimizə əmin olmalıyıq. Bizim töhfələrimiz (yəni, tələblər) işimizi nəzərdən keçirməli və sınaqdan keçirməli olan həmkarlarımız üçün bir yük olmamalıdır. Həmçinin, bir şirkətdə işlədiyiniz halda: İstifadə etdiyimiz alətlər işəgötürənimiz tərəfindən təsdiqlənməlidir. Təhlükəsizlik və məxfilik kimi həssas aspektləri düzgün idarə etmək lazımdır: Siyasət təsdiqi olmadan sirləri, müştəri məlumatlarını (PII) və ya mülkiyyət kodunu alətlərə yapışdırmayın. İnternetdə bir qəribdən gələn kod kimi davranın. Həmişə sınaqdan keçirin və yoxlayın. Qeyd: Bu məqalə VSCode və ya Kursor daxilində Copilot kimi AI kodlaşdırma alətləri ilə çox əsas tanışlığı nəzərdə tutur. Bütün bunlar sizə tamamilə yeni və tanış deyilsə, Github Copilot video dərsləri sizin üçün fantastik başlanğıc nöqtəsi ola bilər.
AI Kodlaşdırma Vasitələrinin Faydalı Tətbiqləri Qeyd: Aşağıdakı nümunələr əsasən React, Vue, Svelte və ya Angular kimi JavaScript əsaslı veb proqramlarında işləməyə yönəldiləcək. Tanımadığı Kod Bazasını Anlamaq Müəyyən edilmiş kod bazaları üzərində işləmək qeyri-adi deyil və böyük bir köhnə kod bazasına qoşulmaq qorxuducu ola bilər. Sadəcə olaraq layihənizi və AI agentinizi açın (mənim vəziyyətimdə VSCode-da Kopilot Çatı) və həmkarınızdan soruşduğunuz kimi suallar verməyə başlayın. Ümumiyyətlə, mən hər hansı bir AI agenti ilə bir insanla danışdığım kimi danışmağı xoşlayıram. Budur daha zərif bir nümunə təklifi: "Mənə yüksək səviyyəli arxitektura haqqında ümumi məlumat verin: giriş nöqtələri, marşrutlaşdırma, auth, məlumat qatı, alətlərin qurulması. Sonra oxumaq üçün 5 faylı sıralayın. İzahları fərziyyə kimi qəbul edin və istinad edilən fayllara keçid edərək təsdiqləyin."
“Marşrutlaşdırma ətraflı şəkildə necə işləyir?” kimi əlavə suallar verməyə davam edə bilərsiniz. və ya “Autentifikasiya prosesi və üsulları ilə mənimlə danış” və bu, sizi tanımadığı kod bazasının qaranlığına işıq saçmaq üçün faydalı istiqamətlərə aparacaq. Asılılıqları Təkmilləşdirərkən Dəyişikliklərin Kəsilməsi Npm paketlərini yeniləmək, xüsusən də onlar pozulmuş dəyişikliklərlə gəldikdə, yorucu və vaxt aparan iş ola bilər və sizi kifayət qədər reqressiyaları düzəldə bilər. Bu yaxınlarda mən plotly.js verilənlərin vizuallaşdırılması kitabxanasını 2-ci versiyadan 3-cü versiyaya bir əsas buraxılış versiyasına təkmilləşdirməli oldum və bunun nəticəsində bəzi qrafiklərdə oxun etiketlənməsi işləməyi dayandırdı. ChatGPT-dən soruşmağa davam etdim: "Mən Plotly istifadə edən Angular layihəmi yenilədim. Mən plotly.js - dist paketini 2.35.2-dən 3.1.0-a qədər yenilədim - və indi x və y oxundakı etiketlər yox oldu. Nə oldu?"
Agent dərhal həll yolu ilə qayıtdı (aşağıda özünüzə baxın). Qeyd: Düzəlişi göndərməzdən əvvəl mən hələ də rəsmi miqrasiya bələdçisinə qarşı izahatı təsdiqləmişəm.
Refaktorların Fayllar üzrə Təhlükəsiz Replikasiyası Artan kod bazaları, şübhəsiz ki, kodun konsolidasiyası üçün imkanlar açır. Məsələn, bir funksiyaya və ya komponentə çıxarıla bilən fayllar arasında kodun təkrarlanmasına diqqət yetirirsiniz. Nəticədə, yerinə daxil edilə bilən paylaşılan komponent yaratmağa və həmin refaktoru bir faylda yerinə yetirməyə qərar verdiniz. İndi qalan fayllarınıza bu dəyişiklikləri əl ilə etmək əvəzinə agentinizdən sizin üçün refaktoru yaymağı xahiş edirsiniz. Agentlər kontekst kimi birdən çox fayl seçməyə imkan verir. Bir fayl üçün refaktor tamamlandıqdan sonra mən həm refaktor edilmiş, həm də toxunulmamış faylları kontekstə əlavə edə bilərəm və agentdən dəyişiklikləri digər fayllara yaymağı təklif edə bilərəm: “A faylında etdiyim dəyişiklikləri B faylına da təkrarlayın”. Tanımadığı Texnologiyalarda Xüsusiyyətlərin Tətbiqi AI kodlaşdırma alətlərindən istifadə edərək ən çox sevdiyim aha anlarımdan biri, mənə kifayət qədər tanış olmadığım bir dil olan GLSL-də olduqca mürəkkəb animasiyalı gradient animasiya yaratmağa kömək etməsi oldu. Bu yaxınlarda həyata keçirilən layihədə dizaynerlərimiz 3D obyektdə yükləmə vəziyyəti kimi animasiyalı qradiyentlə çıxış etdilər. Konsepti çox bəyəndim və müştərilərimizə unikal və maraqlı bir şey çatdırmaq istədim. Theproblem: Bunu həyata keçirmək üçün cəmi iki günüm var idi və GLSL-in olduqca dik öyrənmə əyrisi var. Yenə süni intellekt aləti (bu halda ChatGPT) işə yaradı və mən sadəcə olaraq ondan kətan və çox sadə animasiya edilmiş rəng gradientini göstərən müstəqil HTML faylı yaratmağı təklif etməyə başladım. Addım-addım, mən layiqli nəticə əldə edənə qədər süni intellektə daha çox incəlik əlavə etməyi təklif etdim ki, mən şeyderi faktiki kod bazama inteqrasiya edə bildim. Nəticə: Müştərilərimiz çox xoşbəxt idi və biz süni intellekt sayəsində az vaxt ərzində mürəkkəb funksiyanı təqdim etdik. Yazı Testləri Təcrübəmə görə, layihələrdə davamlı olaraq vahid və inteqrasiya testlərinin düzgün dəstini yazmaq və saxlamaq üçün kifayət qədər vaxt var və bunun üzərinə, bir çox tərtibatçılar testlər yazmaq vəzifəsini həqiqətən sevmirlər. AI köməkçinizi sizin üçün testlər qurmağı və yazmağı təklif etmək tamamilə mümkündür və bunu az vaxtda etmək olar. Əlbəttə ki, siz bir tərtibatçı olaraq testlərinizin həqiqətən tətbiqinizin kritik hissələrinə nəzər saldığından və həssas sınaq prinsiplərinə əməl etdiyinə əmin olmalısınız, lakin siz testlərin yazılmasını AI köməkçimizə “outsource” edə bilərsiniz. Nümunə sorğusu: "Jest istifadə edərək bu funksiya üçün vahid testləri yazın. Xoşbəxt yol, kənar hallar və uğursuzluq rejimlərini əhatə edin. Hər bir testin niyə mövcud olduğunu izah edin."
Siz hətta test guru Kent C. Doddsun ən yaxşı təcrübələrini agentinizə təlimat olaraq təqdim edə bilərsiniz, məsələn:
Daxili alətlər Əvvəldə qeyd olunan şeyder nümunəsinə bir qədər bənzəyir, mənə bu yaxınlarda kod bazasında kodun təkrarlanmasını təhlil etmək və refaktordan əvvəl və sonra müqayisə etmək tapşırılıb. Faylları əl ilə müqayisə etmək üçün vaxt aparan marşruta getmək istəmirsinizsə, əlbəttə ki, əhəmiyyətsiz bir iş deyil. Copilot-un köməyi ilə mənim üçün kodun təkrarlanmasını təhlil edən skript yaratdım, nəticəni cədvəldə təşkil edib sifariş etdim və Excel-ə ixrac etdim. Sonra bir addım daha atdım. Kod refaktorumuz tamamlandıqdan sonra agentdən mənim mövcud Excel vərəqimi baza kimi götürməyi, ayrı-ayrı sütunlarda mövcud təkrarlanma vəziyyətini əlavə etməyi və deltanı hesablamağı təklif etdim. Uzun müddət əvvəl yazılmış kodun yenilənməsi Bu yaxınlarda köhnə bir müştərim məni vurdu, çünki zaman keçdikcə onun veb saytında bəzi funksiyalar düzgün işləmirdi. Nəticə: Veb sayt demək olar ki, on il əvvəl qurulmuşdu və JavaScript və SCSS requireJS kimi kifayət qədər köhnə kompilyasiya alətlərindən istifadə edirdi və quraşdırma Node.js-in 2025-ci il MacBook-da belə işləməyəcək köhnə versiyasını tələb edirdi. Bütün qurma prosesini əl ilə yeniləmək mənə günlər aparacaqdı, buna görə də AI agentinə müraciət etmək qərarına gəldim: "JS və SCSS qurma prosesini Vite kimi arıq 2025 yığınına yeniləyə bilərsinizmi?" Bu, şübhəsiz ki, oldu və agentlə təxminən bir saat dəqiqləşdirmədən sonra mən SCSS və JS quruluşumu Vite-ə keçirtdim və mən faktiki səhvlərin düzəldilməsinə diqqət yetirə bildim. Quraşdırma prosesinizə bu cür inteqral dəyişikliklər edərkən çıxışı və tərtib edilmiş faylları düzgün şəkildə təsdiqlədiyinizə əmin olun. Xülasə və Layihə Bütün son kod dəyişikliklərinizi öhdəçilik mesajı üçün bir cümlə ilə ümumiləşdirmək, yoxsa uzun bir öhdəliyə sahib olmaq və onları üç nöqtədə ümumiləşdirmək istərdinizmi? Problem yoxdur, qoy süni intellekt bununla məşğul olsun, amma lütfən, onu yoxladığınızdan əmin olun. Nümunə sorğusu həmkarına mesaj göndərmək qədər sadədir: “Lütfən, qısa güllə nöqtələrindəki son dəyişikliklərimi yekunlaşdırın”. Mənim burada məsləhətim ondan ibarətdir ki, ehtiyatla yazmaq üçün GPT-dən istifadə edin və kodda olduğu kimi, göndərmə və ya təqdim etməzdən əvvəl çıxışı yoxlayın. Tövsiyələr və Ən Yaxşı Təcrübələr Tələb Süni intellektdən istifadənin o qədər də açıq-aşkar olmayan üstünlüklərindən biri odur ki, göstərişləriniz nə qədər spesifik və uyğunlaşdırılsa, nəticə bir o qədər yaxşı olar. Süni intellekt agentinə sövq etmə prosesi bizi yazmaq və kodlaşdırmadan əvvəl tələblərimizi mümkün qədər konkret şəkildə formalaşdırmağa məcbur edir. Buna görə də, bir qayda olaraq, təklifinizlə mümkün qədər konkret olmağı məsləhət görürəm. Remix-in həmmüəllifi Rayan Florens, ilkin əmrinizi cümlə ilə tamamlamaqla bu prosesi təkmilləşdirməyin sadə, lakin güclü yolunu təklif edir: "Başlamazdan əvvəl mənə sualınız varmı?"
Bu nöqtədə, AI adətən xüsusi niyyətinizi aydınlaşdıra biləcəyiniz faydalı suallarla qayıdır və agenti sizə tapşırığınız üçün daha uyğun bir yanaşma təqdim etmək üçün istiqamətləndirir.
Versiya nəzarətindən istifadə edin və həzm oluna bilən hissələrdə işləyin Git kimi versiya nəzarətindən istifadə tək kod bazasında komanda kimi əməkdaşlıq edərkən faydalı deyil, həm də sizifövqəladə vəziyyətdə geri dönmək üçün sabit xalları olan fərdi töhfəçi. Qeyri-deterministik təbiətinə görə, AI bəzən yaramazlıq edə bilər və əldə etməyə çalışdığınız şey üçün sadəcə faydalı olmayan dəyişikliklər edə bilər və nəticədə işləri düzəlməz şəkildə poza bilər. İşinizi bir neçə öhdəliyə bölmək, işlərin tərsinə getdiyi təqdirdə geri dönə biləcəyiniz sabit nöqtələr yaratmağınıza kömək edəcək. Komanda yoldaşlarınız da sizə təşəkkür edəcəklər, çünki kodunuz semantik cəhətdən yaxşı strukturlaşdırılmış hissələrə bölündükdə onu nəzərdən keçirmək daha asan olacaq. Hərtərəfli nəzərdən keçirin Bu, daha çox ümumi ən yaxşı təcrübədir, lakin mənim fikrimcə, inkişaf işi üçün AI alətlərindən istifadə edərkən daha da vacib olur: Kodunuzun ilk tənqidi rəyçisi olun. Başqasının kodunu nəzərdən keçirdiyiniz kimi, dəyişikliklərinizi sətir-sətir keçmək üçün bir az vaxt ayırdığınızdan əmin olun və işinizi yalnız öz baxışınızdan keçdikdən sonra təqdim edin. "Hazırda iki şey mənim üçün doğrudur: süni intellekt agentləri heyrətamizdir və böyük məhsuldarlıq artırır. Əgər beyninizi söndürsəniz və tamamilə buraxsanız, onlar həm də böyük əyilmə maşınlarıdır. "- Armin Ronacher Agent Psixozu: Biz dəli oluruqmu?
Nəticə və Tənqidi Düşüncələr Fikrimcə, AI kodlaşdırma vasitələri gündəlik olaraq tərtibatçılar olaraq məhsuldarlığımızı artıra və daha çox planlaşdırma və yüksək səviyyəli düşünmə üçün zehni qabiliyyətimizi azad edə bilər. Onlar bizi istədiyimiz nəticəni incə detallarla ifadə etməyə məcbur edirlər. İstənilən süni intellekt bəzən halüsinasiya edə bilər, bu da o deməkdir ki, o, inamlı bir tondadır. Odur ki, lütfən, yoxlayın və test edin, xüsusən də şübhə etdiyiniz zaman. Süni intellekt gümüş güllə deyil və inanıram ki, mükəmməllik və inkişaf etdirici kimi problemləri həll etmək bacarığı heç vaxt dəbdən düşməyəcək. Karyerasına yeni başlayan tərtibatçılar üçün bu alətlər işin əksəriyyətini onlar üçün yerinə yetirmək üçün çox cəlbedici ola bilər. Burada itirilə bilən şey, səhvləri aradan qaldırmaq və həll etmək çətin olan səhvlər və problemlər vasitəsilə tez-tez boşaldılan və ağrılı işdir, aka "üyütmək". Hətta Kursor AI-nin özünün Lee Robinson da öz yazılarından birində bunu sual edir:
Süni intellekt kodlaşdırma vasitələri sürətlə inkişaf edir və mən bundan sonra nə olacağı üçün həyəcanlıyam. Ümid edirəm ki, bu məqaləni və onun məsləhətlərini faydalı tapdınız və bunlardan bəzilərini özünüz üçün sınamaqdan həyəcanlanırsınız.