Prompt engineering och LLM-optimering för utvecklare · Lektion

Kodgenerering och refaktorering

Använd LLM:er för att generera kodavsnitt, refaktorera befintlig kod och automatisera repetitiva kodningsuppgifter i olika språk.

Lektion 1 av 411 steg

Kodgenerering och refaktorering är en gratis lektion i Prompt engineering och LLM-optimering för utvecklare på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Prompt engineering och LLM-optimering för utvecklare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Prompt engineering och LLM-optimering för utvecklare innehåller totalt 4 lektioner.

Kodgenerering: Er AI-assistent

Välkomna till kodgenerering och refaktorering! I den här lektionen utforskar vi hur stora språkmodeller (LLM:er) kan fungera som kraftfulla kodningsassistenter.

Kodgenerering innebär att använda AI för att automatiskt skapa kodsnuttar, funktioner eller till och med hela program. Det kan påskynda utvecklingen avsevärt och bidra till att minska vanliga fel.

Generera enkla funktioner

LLM:er kan snabbt ta fram fungerande kod utifrån en tydlig begäran. Låt oss se hur vi kan generera en enkel Python-funktion för att beräkna fakulteten för ett tal.

Prova att köra det här exemplet:

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}")

Grundkod och struktur

LLM:er är utmärkta på att generera grundkod – de standardiserade, ofta repetitiva delarna av ett program. Det kan vara en grundläggande klassstruktur, en konfigurationsuppsättning eller en enkel datamodell.

Genom att generera grundkod kan ni snabbt komma igång med nya komponenter och säkerställa konsekvens. Här är en enkel Java-klass som en LLM skulle kunna generera:

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 innebär att förbättra kodens interna struktur utan att ändra dess externa beteende. Det gör koden enklare att förstå, underhålla och bygga ut.

LLM:er kan hjälpa till att identifiera "kodlukt" (tecken på bristande design) och föreslå förbättringar. Vanliga kodlukter är:

  • Långa metoder: Funktioner med för många rader.
  • Duplicerad kod: Samma kodblock på flera ställen.
  • Stora klasser: Klasser som gör för många saker.

Refaktorering: Extract Method

En vanlig refaktorering är "Extract Method". Om en del av koden utför en avgränsad uppgift kan ni flytta den till en egen funktion. Det gör den ursprungliga metoden kortare och tydligare.

En LLM kan hjälpa till att avgränsa och extrahera sådana block. Här är ett enkelt exempel:

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: namnbyte för tydlighet

Tydliga namn på variabler, funktioner och klasser är avgörande för lättläst kod. LLM:er kan föreslå mer beskrivande namn som gör koden enklare att förstå och underhålla.

Den här refaktoreringen kan verka liten, men den påverkar i hög grad hur enkelt andra (eller ert framtida jag!) kan förstå 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}")

Automatisera verktygsskript

LLM:er kan generera små verktygsskript för vanliga utvecklingsuppgifter. Tänk er att ni behöver ett skript för att räkna ord, bearbeta loggar eller konvertera dataformat.

I stället för att skriva det från grunden kan ni skicka en prompt till en LLM. Här är ett enkelt Python-skript som en LLM skulle kunna generera för att räkna ord i en sträng:

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.")

Generera datastrukturer

För applikationer som hanterar strukturerade data behöver ni ofta dataklasser eller Data Transfer Objects (DTO:er). Det är enkla klasser som främst innehåller data.

LLM:er kan generera dessa klasser åt er, vilket sparar tid när ni har ett schema (till exempel en JSON-struktur) och behöver omvandla det till kod i det språk ni valt.

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 och LLM:ers begränsningar

LLM:er är kraftfulla, men de är inte perfekta kodgeneratorer. Tänk på följande tips och begränsningar:

  • Var specifik: Ju tydligare er prompt är, desto bättre blir koden.
  • Granska koden: Kontrollera alltid att den genererade koden är korrekt, säker och effektiv.
  • Kontexten spelar roll: LLM:er förstår inte hela er kodbas. Ge den kontext som behövs för refaktorering.
  • Komplex logik: LLM:er kan ha svårt med mycket komplexa algoritmer eller nyanserade arkitekturbeslut.
  • Hallucinationer: De kan generera kod som ser trovärdig ut men är felaktig eller inte existerar.

Testa era kunskaper

Låt oss testa era kunskaper om att använda LLM:er för kodgenerering och refaktorering.

Lektionssammanfattning

I den här lektionen har ni lärt er hur LLM:er kan hjälpa till med kodgenerering och refaktorering. Vi har gått igenom:

  • Att generera grundläggande funktioner och grundkod.
  • Att använda LLM:er för att identifiera och utföra enkla kodrefaktoreringar som "Extract Method" och "Rename".
  • Att automatisera repetitiva kodningsuppgifter som generering av skript och dataklasser.
  • Viktiga bästa metoder och aktuella begränsningar när LLM:er används för kod.

Fortsätt öva för att integrera dessa kraftfulla verktyg i ert utvecklingsarbetsflöde!

Gratis att börja

Lär dig Prompt engineering och LLM-optimering för utvecklare med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Kodgenerering och refaktorering” gratis?

Ja – hela texten till ”Kodgenerering och refaktorering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Prompt engineering och LLM-optimering för utvecklare, kan Ni uppgradera till CoddyKit PRO. Kursen i Prompt engineering och LLM-optimering för utvecklare innehåller totalt 4 lektioner.

Vad lär jag mig i ”Kodgenerering och refaktorering”?

Använd LLM:er för att generera kodavsnitt, refaktorera befintlig kod och automatisera repetitiva kodningsuppgifter i olika språk. Ni övar på Prompt engineering och LLM-optimering för utvecklare med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Prompt engineering och LLM-optimering för utvecklare?

Du behöver inga förkunskaper. Utbildningen i Prompt engineering och LLM-optimering för utvecklare på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Kodgenerering och refaktorering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Prompt engineering och LLM-optimering för utvecklare-lektionen?

Ja. Varje Prompt engineering och LLM-optimering för utvecklare-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Kodgenerering och refaktorering
  2. Felsökning och generering av testfall
  3. Dataextraktion och sammanfattning
  4. Generera SQL-frågor från naturligt språk
← Tillbaka till Prompt engineering och LLM-optimering för utvecklare