14.04.2025
Aldas Kleinas

Windsurf Progress OpenEdge kūrime: DI galimybės ir ribos

Sparčiai besikeičiančiame programinės įrangos kūrimo pasaulyje produktyvumas ir aiškumas tampa svarbesni nei bet kada anksčiau. Dirbant su niša ar konkrečiai sričiai skirtomis kalbomis, tokiomis kaip Progress OpenEdge ABL, programuotojai dažnai susiduria su unikaliais iššūkiais – nuo klaidų supratimo iki reikiamos informacijos paieškos ar efektyvaus kodo rašymo. Šiems iššūkiams spręsti vis populiaresni tampa DI įrankiai, tokie kaip Windsurf (anksčiau – Codeium) VS Code plėtinys.

Šis blogo įrašas apžvelgia, kaip Windsurf gali padėti Progress OpenEdge programuotojams geriau suprasti klaidas, greičiau rasti reikiamą informaciją ir generuoti kodą.

Vertinimo tikslai

Pagrindinis šio tyrimo tikslas – įvertinti, kaip efektyviai Windsurf gali padėti kūrimo procese Progress OpenEdge aplinkoje. Konkrečiai siekiama įvertinti:

  • klaidų supratimą: padedant programuotojams greičiau suprasti ABL specifines klaidas;
  • informacijos prieinamumą: suteikiant greitesnę prieigą prie dokumentacijos ar naudojimo pavyzdžių;
  • kūrimo greitį: pagreitinant kodo rašymą realiu laiku teikiamais, kontekstą atitinkančiais pasiūlymais.

Apžvalginė diagrama: kaip Windsurf padeda Progress OpenEdge kūrime

Diagrama aukščiau parodo, kaip Windsurf siekia įgyvendinti aukščiau išvardytus tikslus.

Funkcijų demonstracija

Tiesioginis kodo generavimas

Yra du būdai aiškiai paprašyti kodo generavimo su Windsurf:

  1. Paspauskite Ctrl + I ir įveskite užklausą.

  1. Įveskite natūralios kalbos užklausą kaip komentarą tiesiai ABL kode.

Šios galimybės leidžia programuotojams pagreitinti kodo rašymą, ypač dirbant su pasikartojančiu ar šablonišku (boilerplate) kodu Progress OpenEdge aplinkoje.

Klaidų supratimas

Kai rašant ABL kodą atsiranda klaida, Windsurf gali ją išanalizuoti ir pateikti paaiškinimą. Tai leidžia programuotojams suprasti ir spręsti klaidas nepaliekant redaktoriaus.

Šiame paprastame pavyzdyje Windsurf teisingai atpažįsta padarytą rašybos klaidą ir pasiūlo sprendimą.

Informacijos prieinamumas

Windsurf gali paaiškinti nepažįstamus ABL metodus ar sintaksę. Tai padeda programuotojams nešvaistyti laiko dokumentacijos paieškai ir mokytis tiesiai kontekste.

Šiame pavyzdyje Windsurf pateikia aiškų no-undo naudojimo paaiškinimą.

Netiesioginis kodo generavimas

Dirbant su Progress OpenEdge, Windsurf gali pasiūlyti pilnus ABL kodo blokus, remdamasis dalimi įvesto kodo. Programuotojai gali priimti šiuos pasiūlymus paspausdami tab klavišą.

Šiame pavyzdyje Windsurf teisingai interpretuoja metodo, pavadinto Add, paskirtį ir pateikia atitinkamus pasiūlymus. Tai taip pat parodo, kad Windsurf naudoja esamą kodo bazę kaip kontekstą ir sugeba pateikti pasiūlymą, atitinkantį tinkamą sintaksę ir pavadinimų konvencijas.

Iššūkiai ir apribojimai

Šiuo metu Windsurf oficialiai palaiko daugiau nei 70 programavimo kalbų, tačiau Progress OpenEdge ABL tarp jų nėra. Tai nereiškia, kad Windsurf visiškai nesusipažinęs su ABL kalba, kaip rodo keli aukščiau pateikti pavyzdžiai. Tačiau jo žinios pastebimai ribotos, ypač naudojant nemokamą Windsurf versiją, kuri veikia bazinio LLM modelio pagrindu. Šis bazinis modelis mokymo metu greičiausiai turėjo labai ribotą sąlytį su ABL specifiniais duomenimis.

Patikimesnių rezultatų galima pasiekti įsigijus Windsurf prenumeratą, kuri suteikia prieigą prie Windsurf Premier LLM – pažangesnio modelio, geriau suprantančio ABL sintaksę ir kontekstą. Visi ankstesni ir tolesni pavyzdžiai remiasi šiuo Premier modeliu. Vis dėlto net ir su šia patobulinta versija, naudojant Windsurf Progress OpenEdge aplinkoje, iškyla nemažai iššūkių:

Klaidų supratimo nesėkmė

Bazinis Windsurf modelis gali pateikti netikslius ar nesusijusius pasiūlymus ABL kalbai, nes nebuvo plačiai apmokytas su Progress OpenEdge duomenimis.

Šiame pavyzdyje Windsurf ne tik nesugeba interpretuoti tikrosios klaidos priežasties, bet ir klaidingai nustato, kad naudojama kalba iš tikrųjų yra Apex.

Nenuoseklus klaidų aiškinimas

Windsurf gali klaidingai identifikuoti kalbas (pvz., supainioti ABL su Apex) arba pateikti neteisingus paaiškinimus.

Šiame pavyzdyje, naudojant tą pačią užklausą kaip anksčiau, bet šįkart su nemokama modelio versija, Windsurf pateikia visiškai neteisingą atsakymą.

Netinkamos sintaksės generavimas

Sugeneruotas kodas gali neatitikti ABL sintaksės ar pavadinimų konvencijų, todėl prireikia papildomo derinimo (debugging) laiko.

Šiame pavyzdyje Windsurf sugeneruoja kodą, kuris neatitinka ABL sintaksės.

Kitoms kalboms prieinamų funkcijų trūkumas

Kalbos, kurias Windsurf oficialiai palaiko, naudojasi papildomomis funkcijomis, kurios nėra prieinamos ABL kalbai. Pavyzdžiui:

  • Galimybė tiesiai redaktoriuje paprašyti paaiškinimų, refaktoringo pasiūlymų ir dokumentacijos kodo blokams.

Tai pavyzdys, kaip tai atrodo .tsx faile.

  • Palaikymas tiesioginėms nuorodoms į kitus failus kodo bazėje.

Šiame pavyzdyje paprašiau paaiškinti kito failo turinį, dėl ko atsirado užlaikymas (buferizacija) ir galiausiai klaida. Pagal mano patirtį, tai nutinka visada, kai daroma tokia tiesioginė nuoroda.

Rezultatų santrauka

  • Klaidų supratimas: Windsurf Progress OpenEdge ABL klaidų paaiškinimai yra tikslūs tik paprastais atvejais, paprastai kai klaidos priežastis jau gana akivaizdi. Sudėtingesniais atvejais paaiškinimai gali būti klaidinantys ar visiškai neteisingi.
  • Informacijos prieinamumas: Windsurf gali pagerinti prieigą prie aktualios informacijos, tačiau prasmingų rezultatų paprastai pasiekiama tik naudojant premium modelį, kuris geriau susipažinęs su ABL kalba.
  • Kūrimo greitis: nors bendri kodo pasiūlymai kartais gali būti naudingi ir sutaupyti laiko, tiesioginiai ABL kodo generavimo prašymai dažnai pateikia žemos kokybės ar netinkamus rezultatus. Vis dėlto tam tikruose kontekstuose įrankis gali pagreitinti kodavimą, pateikdamas naudingus, sintaksę atitinkančius pasiūlymus.

Apibendrinant, nors Windsurf siūlo potencialios naudos Progress OpenEdge kūrime, jo apribojimai – ypač naudojant nemokamą modelį – gali paveikti efektyvumą. Premium versija rodo perspektyvą gerinant bendrą kūrimo patirtį, ypač tokioms užduotims kaip klaidų supratimas ir informacijos paieška.

Gaukite pagalbą iš Progress OpenEdge ekspertų

Norite pagerinti savo kūrimo patirtį su Progress OpenEdge? Pasikalbėkite su mūsų Progress komanda dėl ekspertų patarimų, geriausiai jūsų poreikiams pritaikytų įrankių, integracijų ir praktikų.

Dažniausiai užduodami klausimai

Ar Windsurf oficialiai palaiko Progress OpenEdge ABL kalbą?

Ne. Windsurf oficialiai palaiko daugiau nei 70 programavimo kalbų, tačiau ABL tarp jų nėra. Vis dėlto įrankis turi tam tikrų žinių apie ABL, nors jos ribotos, ypač naudojant nemokamą versiją.

Kuo skiriasi nemokama ir premium Windsurf versija dirbant su ABL?

Nemokama versija veikia bazinio LLM modelio pagrindu, kuris turėjo ribotą sąlytį su ABL duomenimis mokymo metu. Premium versija (Windsurf Premier LLM) suteikia geresnį ABL sintaksės ir konteksto supratimą bei patikimesnius rezultatus.

Kokie dažniausi Windsurf apribojimai dirbant su Progress OpenEdge?

Dažniausi apribojimai – netikslus klaidų aiškinimas sudėtingesniais atvejais, kalbos supainiojimas (pvz., ABL su Apex), netinkamos ABL sintaksės generavimas ir kai kurių funkcijų (pvz., kodo paaiškinimų ar nuorodų į kitus failus) trūkumas, palyginti su oficialiai palaikomomis kalbomis.

Ar Windsurf gali pagreitinti ABL kodo rašymą?

Taip, tam tikrais atvejais – ypač rašant pasikartojantį ar šablonišką kodą bei naudojant netiesioginį kodo generavimą, kai įrankis remiasi esama kodo baze. Tačiau tiesioginiai prašymai sugeneruoti sudėtingesnį ABL kodą dažnai duoda žemesnės kokybės rezultatus.

Pasikalbėkime apie jūsų projektą

Pradedate projektą arba norite sustiprinti jau vykdomą? Susisiekite ir atsakysime jums per vieną darbo dieną.

Parašykite mums

Ačiū! Jūsų pateikimas gautas!
Oi! Pateikiant formą kažkas nutiko.