Prompt engineering og optimalisering av LLM-er for utviklere · leksjon

Kodegenerering og refaktorering

Bruk LLM-er til å generere kodebiter, refaktorere eksisterende kode og automatisere repetitive kodingsoppgaver på tvers av ulike språk.

Leksjon 1 av 411 trinn

Kodegenerering og refaktorering er en gratis leksjon i Prompt engineering og optimalisering av LLM-er for utviklere på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Prompt engineering og optimalisering av LLM-er for utviklere, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Prompt engineering og optimalisering av LLM-er for utviklere inneholder totalt 4 leksjoner.

Kodegenerering: Din AI-assistent

Velkommen til kodegenerering og refaktorering! I denne leksjonen skal vi utforske hvordan Large Language Models (LLM-er) kan fungere som kraftige kodeassistenter.

Kodegenerering innebærer å bruke AI til å opprette kodebiter, funksjoner eller til og med komplette programmer automatisk. Dette kan øke utviklingstempoet betydelig og bidra til å redusere vanlige feil.

Generere enkle funksjoner

LLM-er kan raskt produsere fungerende kode basert på en tydelig forespørsel. La oss se hvordan vi kan generere en grunnleggende Python-funksjon for å beregne fakultetet til et tall.

Prøv å kjøre dette eksempelet:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

# Example usage:
result = factorial(5)
print(f"Factorial of 5 is: {result}")

Standardkode og struktur

LLM-er er svært gode til å generere standardkode – de standardiserte og ofte gjentakende delene av et program. Dette kan være en grunnleggende klassestruktur, et konfigurasjonsoppsett eller en enkel datamodell.

Generering av standardkode gir et godt utgangspunkt for nye komponenter og sikrer enhetlighet. Her er en enkel Java-klasse som en LLM kan generere:

public class User {
    private String name;
    private int age;

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public static void main(String[] args) {
        User user1 = new User("Alice", 30);
        System.out.println("User: " + user1.getName() + ", Age: " + user1.getAge());
    }
}

Refaktorering med LLM-er

Refaktorering betyr å forbedre den interne strukturen i kode uten å endre den eksterne oppførselen. Det gjør koden enklere å forstå, vedlikeholde og utvide.

LLM-er kan bidra til å identifisere «code smells» (tegn på dårlig design) og foreslå forbedringer. Vanlige eksempler er:

  • Lange metoder: Funksjoner med for mange linjer.
  • Duplisert kode: De samme kodeblokkene som forekommer flere steder.
  • Store klasser: Klasser som gjør for mange ting.

Refaktorering: Trekk ut metode

En vanlig refaktorering er «Extract Method». Hvis en del av koden utfører en avgrenset oppgave, kan du flytte den til sin egen funksjon. Dette gjør den opprinnelige metoden kortere og tydeligere.

En LLM kan hjelpe med å isolere og trekke ut slike blokker. Her er et enkelt eksempel:

def calculate_final_price(item_price, quantity, discount_rate):
    total_price = item_price * quantity
    discount = total_price * discount_rate
    return total_price - discount

# Example usage:
item_p = 100
qty = 2
disc_rate = 0.10
final = calculate_final_price(item_p, qty, disc_rate)
print(f"Final price: ${final}")

Refaktorering: Gi tydeligere navn

Tydelige navn på variabler, funksjoner og klasser er avgjørende for lesbar kode. LLM-er kan foreslå mer beskrivende navn som gjør koden enklere å forstå og vedlikeholde.

Denne refaktoreringen virker ofte liten, men har stor betydning for hvor enkelt andre (eller du selv i fremtiden!) kan forstå koden.

def calc_area(r): # 'r' is not very clear
    PI = 3.14159
    return PI * r * r

# Refactored with LLM help:
def calculate_circle_area(radius): # 'radius' is much clearer!
    PI = 3.14159
    return PI * radius * radius

# Example usage:
circle_radius = 7
area = calculate_circle_area(circle_radius)
print(f"Area of circle with radius {circle_radius}: {area}")

Automatisere hjelpeskript

LLM-er kan generere små hjelpeskript for vanlige utviklingsoppgaver. Tenk deg at du trenger et skript for å telle ord, behandle logger eller konvertere dataformater.

I stedet for å skrive det fra bunnen av kan du skrive en prompt til en LLM. Her er et grunnleggende Python-skript som en LLM kan generere for å telle ord i en streng:

def count_words(text):
    words = text.split()
    return len(words)

# Example usage:
sample_text = "This is a sample sentence to count words."
word_count = count_words(sample_text)
print(f"The text has {word_count} words.")

Generere datastrukturer

For applikasjoner som håndterer strukturerte data, trenger du ofte dataklasser eller Data Transfer Objects (DTO-er). Dette er enkle klasser som hovedsakelig inneholder data.

LLM-er kan generere disse klassene for deg. Det sparer tid når du har et skjema (for eksempel en JSON-struktur) og trenger å konvertere det til kode i språket du har valgt.

class Product:
    def __init__(self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity

    def display_info(self):
        print(f"Product: {self.name}")
        print(f"Price: ${self.price:.2f}")
        print(f"Quantity: {self.quantity}")

# Example usage:
laptop = Product("Laptop Pro", 1200.50, 1)
laptop.display_info()

Tips og begrensninger ved LLM-er

Selv om LLM-er er kraftige, er de ikke perfekte kodegeneratorer. Ha disse tipsene og begrensningene i tankene:

  • Vær spesifikk: Jo tydeligere prompten er, desto bedre blir koden.
  • Kontroller koden: Kontroller alltid generert kode med hensyn til korrekthet, sikkerhet og effektivitet.
  • Kontekst er viktig: LLM-er forstår ikke hele kodebasen din. Gi nødvendig kontekst ved refaktorering.
  • Kompleks logikk: LLM-er kan ha problemer med svært komplekse algoritmer eller nyanserte arkitektoniske beslutninger.
  • Hallusinasjoner: De kan generere kode som ser plausibel ut, men som er feil eller ikke eksisterer.

Test forståelsen din

La oss teste kunnskapene dine om bruk av LLM-er til kodegenerering og refaktorering.

Oppsummering av leksjonen

I denne leksjonen lærte du hvordan LLM-er kan hjelpe med kodegenerering og refaktorering. Vi gikk gjennom:

  • Generering av grunnleggende funksjoner og standardkode.
  • Bruk av LLM-er til å identifisere og utføre enkle kodeomstruktureringer, som «Extract Method» og «Rename».
  • Automatisering av gjentakende kodeoppgaver, som generering av skript og dataklasser.
  • Viktige anbefalte fremgangsmåter og nåværende begrensninger ved bruk av LLM-er til kode.

Fortsett å øve, slik at du kan integrere disse kraftige verktøyene i utviklingsarbeidsflyten din!

Gratis å komme i gang

Lær deg Prompt engineering og optimalisering av LLM-er for utviklere med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Kodegenerering og refaktorering» gratis?

Ja – hele teksten i «Kodegenerering og refaktorering» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Prompt engineering og optimalisering av LLM-er for utviklere-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Prompt engineering og optimalisering av LLM-er for utviklere inneholder totalt 4 leksjoner.

Hva lærer jeg i «Kodegenerering og refaktorering»?

Bruk LLM-er til å generere kodebiter, refaktorere eksisterende kode og automatisere repetitive kodingsoppgaver på tvers av ulike språk. Du øver på Prompt engineering og optimalisering av LLM-er for utviklere med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Prompt engineering og optimalisering av LLM-er for utviklere?

Ingen tidligere erfaring er nødvendig. Prompt engineering og optimalisering av LLM-er for utviklere på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Kodegenerering og refaktorering»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Prompt engineering og optimalisering av LLM-er for utviklere-leksjonen?

Ja. Alle Prompt engineering og optimalisering av LLM-er for utviklere-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Kodegenerering og refaktorering
  2. Feilsøking og generering av testtilfeller
  3. Datauttrekking og oppsummering
  4. Generere SQL-spørringer fra naturlig språk
← Tilbake til Prompt engineering og optimalisering av LLM-er for utviklere