AI produktai šiais laikais sukėlė revoliuciją programinės įrangos kūrimui ar kodavimui. Naudodamiesi dirbtiniu intelektu, galime automatiškai generuoti programavimo kodus ir juos taisyti bei optimizuoti Kodo pertvarkymas . Šiame straipsnyje nagrinėjame pertvarkymo procesą ir matome, kaip tai padaryti naudokite Copilot to Refractor Code .
Kas yra kodo pertvarkymas?
Kuriant programinę įrangą ar taikomąsias programas, kodo pertvarkymas reiškia programos šaltinio kodo atkūrimą arba pertvarkymą išlaikant jo pradines funkcijas. Šiuo procesu siekiama pagerinti programinės įrangos struktūrą ir dizainą bei sumažinti sudėtingumą. Dirbtinio intelekto integravimas į kodo keitimą padėjo mums greitai nustatyti programinės įrangos našumo problemas ir palengvinti sudėtingus algoritmus, siekiant pagerinti bendrą efektyvumą.
Kaip „Copilot“ gali padėti pertvarkant kodus?
Jis gali išanalizuoti tam tikrą kodo skyrių ir pateikti pasiūlymų, kaip patobulinti jo struktūrą iki švaresnio ir patogesnio formato, kad būtų sumažintas sudėtingumas. Pateiktos rekomendacijos grindžiamos šiais dalykais:
- Nustatykite esamo kodo problemas: „Copilot“ nuskaito visą kodo failą, kad paryškintų dalis ar sritis, kurias reikia pakeisti, nurodydamas pasikartojančius kodus, nenaudojamus ar neaiškius kintamuosius ir pan.
- Siūlykite efektyvius variantus: Pertvarkydamas kodą, „Copilot“ analizuoja esamą kodą ir pasiūlo veiksmingų alternatyvų, kurios gali duoti tuos pačius rezultatus, bet padaryti kodą švaresnį. Šios rekomendacijos apima veiksmingą kalbos naudojimą įvardijant kintamuosius, metodus ir duomenų struktūras.
- Užtikrinkite prižiūrimą kodą: Atsiliepimai realiuoju laiku padeda išvengti klaidų. Pasiūlymai paprastai yra pagrįsti geriausia programavimo principų praktika, kuri gali padėti išlaikyti tinkamą kodo struktūrą, kad kitiems būtų lengviau suprasti ir, jei reikia, pakeisti tą patį.
Kaip naudoti Copilot to Refractor Code
Norėdami naudoti „Copilot“ pertvarkymui, galime pradėti nuo įdiegti „GitHub Copilot“. atitinkamos kalbos plėtinys (VS kodas, Python ir kt.). Pavyzdžiui, jei norime atkurti „Python“ parašytą šaltinio kodą, „Copilot“ papildinį galime įdiegti taip:
- Spustelėkite, kad atidarytumėte parinktį Nustatymai integruotoje kūrimo aplinkoje arba IDE (JavaScript arba Python).
- Spustelėkite papildinio parinktį kairėje.
- Spustelėkite ant Turgavietė parinktį ir ieškokite GitHub Copilot Prijunkite.
- Suradę spustelėkite Diegti norėdami įdiegti papildinį.
- Kai diegimas bus baigtas, IDE paragins paleisti iš naujo. Paleidę iš naujo, atidarykite IDE ir spustelėkite Įrankiai -> GitHub Copilot -> Prisijunkite prie GitHub.
- Po sėkmingo prisijungimo Copilot bus paruoštas naudoti.
- Norėdami naudoti Copilot, rašydami kodą galite naudoti toliau nurodytus sparčiuosius klavišus
Veiksmas | Windows/Linux | MacOS |
Suaktyvinkite įtrauktus pasiūlymus | Alt+\ | Option+\ |
Žiūrėkite kitą pasiūlymą | Alt+] | Option+] |
Žiūrėkite ankstesnį pasiūlymą | Alt + [ | Option+[ |
Priimkite pasiūlymą | Skirtukas | Skirtukas |
Atmesti įtrauktą pasiūlymą | Esc | Esc |
Rodyti visus pasiūlymus naujame skirtuke | Alt + Enter | Alt + Enter |
Susijęs: Kaip peržiūrėti iš GitHub atsisiųstą kodą
1 pavyzdys: supaprastinti sudėtingą kodą
Panagrinėkime toliau pateiktą kodo fragmentą, kad parodytume, kaip sudėtingą kodą galima supaprastinti naudojant „Copilot“ pertvarkymo funkciją. Čia mes svarstome tik dalį didesnės programos, kad būtų lengviau suprasti:
Prieš pertvarkymą
kaip įrašyti žaidimo klipą „Xbox One“
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
Po pertvarkymo naudojant Copilot
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
Pirmiau pateiktame pavyzdyje pirmąjį kodų rinkinį (Prieš pertvarkymą) sudaro pavadinta funkcija arba metodas apdoroti užsakymas, kuri atlieka tam tikro užsakymo apdorojimo veiksmus. Prieš apdorojant užsakymą, sąlyginis IF teiginys patikrina, ar užsakymas paruoštas apdoroti, ar nenaudojamas if (order.isReadyForProcessing()) funkcija. Šiame kodų rinkinyje apdorojimo logika įtraukta į pagrindinę funkciją, todėl ji yra mažiau modulinė.
Šiame kodo fragmente turime procesasUžsakymas užsakymo apdorojimo funkcija. Tačiau logika patikrinti, ar užsakymas paruoštas apdoroti ir apdoroti paruoštą užsakymą, buvo perkelta į atskirą funkciją, pavadintą procesasReadyOrder. Tai padeda atskirti kiekvieną metodą, kad kodas būtų aiškumas ir moduliškumas.
2 pavyzdys: kintamojo pervadinimas
Prieš pertvarkymą
def calculate_area(l, w): return l * w
Po pertvarkymo naudojant Copilot
def calculate_area(length, width): return length * width
Tačiau po pertvarkymo kintamieji „l“ ir „w“ buvo pakeisti ilgiu ir plotiu, o tai padidino kodo aiškumą per kintamųjų pervardijimą kaip esminę keitimo ypatybę.
Nors „Copilot“ gali padėti atkurti kodą, jis turi keletą apribojimų, tokių kaip neteisingi pasiūlymai, per didelis pasitikėjimas ir pasenusių kodų laužymas. Gavę pasiūlymus, įsitikinkite, kad atlikote visus rankinius patikrinimus ir naudokite tinkamus raginimus.
Kokiais duomenimis buvo apmokytas „GitHub Copilot“?
„GitHub Copilot“ buvo apmokytas natūralios kalbos teksto ir šaltinio kodo iš viešai prieinamų šaltinių, įskaitant kodą viešose „GitHub“ saugyklose. Jį maitina generatyvūs AI modeliai, kuriuos sukūrė „GitHub“, „OpenAI“ ir „Microsoft“.
Kokios yra suderinamos Copilot programavimo kalbos?
Github Copilot palaiko įvairias kalbas, tačiau ypač gerai veikia su JavaScript, TypeScript, Ruby, Python, Go, C++ ir C#.