AI-prompt engineering · leksjon

Prompter for feilsøking og refaktorering

Bruk LLM-er til å identifisere feil i eksisterende kode og foreslå forbedringer for refaktorering og optimalisering.

Leksjon 2 av 311 trinn

Prompter for feilsøking og refaktorering er en gratis leksjon i AI-prompt engineering på CoddyKit. Dette er leksjon 2 av 3. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-prompt engineering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-prompt engineering inneholder totalt 3 leksjoner.

LLM-er for kodekvalitet

Store språkmodeller (LLM-er) brukes ikke bare til å generere ny kode; de er også kraftige assistenter for å forbedre eksisterende kode. Tenk på dem som din intelligente kodegjennomgangspartner!

I denne leksjonen skal vi utforske hvordan LLM-er kan hjelpe deg med å:

  • Finne og rette feil i koden din.
  • Foreslå forbedringer gjennom refaktorering.
  • Optimalisere koden din for bedre ytelse og lesbarhet.

Feilsøking med AI: Finn feil

Feilsøking er prosessen med å finne og rette feil (bugs) i programvare. Det kan være en tidkrevende oppgave.

LLM-er kan gjøre feilsøkingen betydelig raskere ved å:

  • Analysere kode for vanlige feil.
  • Finne nøyaktig hvor feilene oppstår.
  • Foreslå konkrete løsninger og korrigert kode.

La oss se på et eksempel.

Din første feilsøkingsprompt

Tenk deg at du har en Python-funksjon som skal summere tallene i en liste, men at den ikke fungerer som den skal. Du kan be en LLM finne feilen.

Her er en Python-funksjon med en feil. Klarer du å finne feilen?

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total + num # This line is the bug!
    return total

my_list = [1, 2, 3]
print(f"The sum is: {calculate_sum(my_list)}")

LLM-ens innsikt i feilsøking

Hvis du ga den forrige koden til en LLM med en prompt som "Finn feilen i denne Python-funksjonen og forklar hvordan den kan rettes,", ville den identifisert problemet riktig.

Feilen er at total + num beregner en verdi, men ikke tilordner den tilbake til total. Her er den korrigerte koden:

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total = total + num # Corrected assignment
    return total

my_list = [1, 2, 3]
print(f"The sum is: {calculate_sum(my_list)}")

Refaktorering med LLM-er: Ren kode

Refaktorering er prosessen med å strukturere eksisterende datamaskinkode på nytt uten å endre hvordan den oppfører seg utad. Det er som å rydde rommet uten å flytte på møblene!

Hovedmålene med refaktorering er å forbedre:

  • Lesbarhet: Gjøre koden enklere å forstå.
  • Vedlikeholdbarhet: Forenkle fremtidige oppdateringer og endringer.
  • Effektivitet: Noen ganger få koden til å kjøre raskere (selv om dette ikke er hovedmålet).

Grunnleggende refaktoreringsprompt

LLM-er kan foreslå måter å gjøre koden mer konsis og mer idiomatisk i Python på (i tråd med Pythons beste praksis).

Vurder denne funksjonen som behandler en liste. Den fungerer, men kan den gjøres ryddigere?

def process_positive_squares(data_items):
    result_list = []
    for item in data_items:
        if item > 0:
            squared_val = item * item
            result_list.append(squared_val)
    return result_list

numbers = [1, -2, 3, -4, 5]
print(f"Processed list: {process_positive_squares(numbers)}")

En ryddigere versjon

Med en prompt som "Refaktorer denne Python-funksjonen for bedre lesbarhet og kortere kode ved å bruke en listeforståelse" kan en LLM foreslå dette:

En listeforståelse er en kompakt måte å opprette en ny liste fra en eksisterende sekvens på.

def process_positive_squares(data_items):
    # Using a list comprehension for conciseness
    return [item * item for item in data_items if item > 0]

numbers = [1, -2, 3, -4, 5]
print(f"Processed list: {process_positive_squares(numbers)}")

Optimaliser kode med LLM-er

I tillegg til lesbarhet kan LLM-er også foreslå måter å optimalisere koden din for bedre ytelse på. Dette innebærer ofte å erstatte egendefinerte løkker med innebygde funksjoner eller mer effektive algoritmer.

Her er en funksjon som finner den første forekomsten av et tegn. Den fungerer, men det finnes en mer effektiv måte å gjøre dette på i Python.

def find_char_manually(text, char):
    for i in range(len(text)):
        if text[i] == char:
            return i
    return -1

my_string = "hello world"
print(f"'o' found at index: {find_char_manually(my_string, 'o')}")

Utnytt innebygde funksjoner

En god prompt her vil være: "Hvordan kan jeg optimalisere denne Python-funksjonen for å finne den første forekomsten av et tegn?"

LLM-en vil sannsynligvis vise til Pythons svært optimaliserte innebygde strengmetoder, for eksempel .find().

def find_char_optimized(text, char):
    # Using the built-in string find method, which is highly optimized
    return text.find(char)

my_string = "hello world"
print(f"'o' found at index: {find_char_optimized(my_string, 'o')}")

Rask kontroll

Å forstå forskjellen mellom feilsøking og refaktorering er avgjørende for effektiv forbedring av kode.

Oppsummering: Din AI-kodeassistent

I denne leksjonen oppdaget vi hvordan LLM-er kan være svært verdifulle verktøy for å forbedre kodekvaliteten din.

  • Feilsøking: LLM-er kan raskt finne feil, forklare dem og foreslå løsninger, slik at du sparer tid.
  • Refaktorering: LLM-er bidrar til å forbedre kodens struktur, lesbarhet og vedlikeholdbarhet, ofte ved å foreslå mer konsise eller mer idiomatiske måter å skrive kode på.
  • Optimalisering: De kan også påpeke ytelsesflaskehalser og foreslå mer effektive fremgangsmåter.

Husk å utforme tydelige og spesifikke prompter for å få best mulig resultater fra AI-kodeassistenten din!

Gratis å komme i gang

Lær deg AI-prompt engineering 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
53
Leksjoner
199

Ofte stilte spørsmål

Er leksjonen «Prompter for feilsøking og refaktorering» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AI-prompt engineering, inkludert «Prompter for feilsøking og refaktorering», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i AI-prompt engineering inneholder totalt 3 leksjoner.

Hva lærer jeg i «Prompter for feilsøking og refaktorering»?

Bruk LLM-er til å identifisere feil i eksisterende kode og foreslå forbedringer for refaktorering og optimalisering. Du øver på AI-prompt engineering 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 AI-prompt engineering?

Ingen tidligere erfaring er nødvendig. AI-prompt engineering 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 2 av 3.

Hvor lang tid tar leksjonen «Prompter for feilsøking 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 AI-prompt engineering-leksjonen?

Ja. Alle AI-prompt engineering-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 med LLM-er
  2. Prompter for feilsøking og refaktorering
  3. Integrering av LLM-er i IDE-er
← Tilbake til AI-prompt engineering