ThinkWi-KI

Künstliche Intelligenz erklärt – verständlich und praxisnah

Benutzer-Werkzeuge

Webseiten-Werkzeuge


praxis:code

Dies ist eine alte Version des Dokuments!


03. Code & Entwicklung

Überblick

KI-Systeme wie ChatGPT, GitHub Copilot, Amazon CodeWhisperer oder Cursor können Entwickler:innen bei zahlreichen Aufgaben unterstützen – von der Codeerstellung über das Debugging bis zur Dokumentation. Richtig eingesetztes Prompting spart Zeit, hilft beim Lernen neuer Technologien und beschleunigt Entwicklungsprozesse.

Typische Einsatzbereiche:

  • Code generieren (Funktionen, Klassen, Module)
  • Fehleranalyse und -behebung
  • Refactoring und Performance-Tuning
  • Dokumentation erzeugen
  • Tests erstellen
  • Konzepte erklären lassen
  • Code zwischen Sprachen „übersetzen“

Aufbau eines effektiven Entwickler-Prompts

Ein guter Entwickler-Prompt sollte enthalten:

  • Sprache / Technologie: z. B. Python, JavaScript, SQL, HTML, Docker etc.
  • Ziel: Was soll der Code tun?
  • Kontext: Gibt es Eingabedaten, Einschränkungen, bestehende Strukturen?
  • Format: Kommentar, vollständiger Codeblock, Teilfunktion, Test etc.
  • Nutzungszweck: Lernen, Prototyp, Produktivcode, Review etc.
  • Stil-Vorgaben (optional): funktional, OOP, dokumentiert, minimalistisch

→ Je genauer du das Ziel und den Kontext beschreibst, desto zuverlässiger die Antwort.

🔧 Beispiele für Code-Prompts

🛠️ Code erstellen

Prompt 1 – Python-Funktion schreiben > Schreibe eine Python-Funktion, die eine Liste von Zahlen entgegennimmt und die durchschnittliche Abweichung vom Mittelwert zurückgibt. Achte auf gute Lesbarkeit und füge einen Beispielaufruf hinzu.

def durchschnittliche_abweichung(zahlen):
    if not zahlen:
        return 0
    mittelwert = sum(zahlen) / len(zahlen)
    abweichungen = [abs(x - mittelwert) for x in zahlen]
    return sum(abweichungen) / len(zahlen)
 
# Beispielaufruf
werte = [10, 15, 20, 25]
print(durchschnittliche_abweichung(werte))  # Ausgabe: 5.0

Prompt 2 – SQL-Query generieren > Du hast eine Datenbank mit einer Tabelle „users“ (Felder: id, name, email, created_at). Schreibe eine SQL-Abfrage, die alle Nutzer:innen zeigt, die sich im letzten Monat registriert haben.

SELECT id, name, email, created_at
FROM users
WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH);

Prompt 3 – HTML-Formular > Erstelle ein HTML-Formular zur Anmeldung für einen Newsletter. Es soll Felder für E-Mail, Vorname, Datenschutz-Häkchen und einen „Anmelden“-Button enthalten.

<form action="/newsletter-anmeldung" method="post">
  <label for="vorname">Vorname:</label><br>
  <input type="text" id="vorname" name="vorname" required><br><br>
 
  <label for="email">E-Mail:</label><br>
  <input type="email" id="email" name="email" required><br><br>
 
  <input type="checkbox" id="datenschutz" name="datenschutz" required>
  <label for="datenschutz">Ich stimme der Datenschutzerklärung zu</label><br><br>
 
  <button type="submit">Anmelden</button>
</form>

🐛 Fehleranalyse & Debugging

Prompt 1 – Python-Fehler erklären > `TypeError: unsupported operand type(s) for +: 'int' and 'str'`

# Fehlerhafter Code
liste = [1, 2, '3']
summe = sum(liste)  # Fehler!
 
# Erklärung:
# sum() versucht, '3' (ein String) mit den Zahlen zu addieren.
# Lösung: Stelle sicher, dass alle Elemente numerisch sind.
 
# Korrigiert:
liste = [1, 2, int('3')]
summe = sum(liste)  # Ergebnis: 6

Prompt 2 – Code-Review anfordern *(nur als Platzhalter: hier kann realer User-Code eingefügt werden)*

// Verbesserungsvorschlag:
function sumArray(arr) {
  if (!Array.isArray(arr)) return 0;
  return arr.reduce((acc, val) => acc + val, 0);
}

🔄 Refactoring & Optimierung

Prompt 1 – Lesbarkeit verbessern

Vorher:

def a(x):
 for i in x:
  if i>5:print(i)

Nachher (refactored):

def print_greater_than_five(numbers):
    for number in numbers:
        if number > 5:
            print(number)

Prompt 2 – List Comprehension

Vorher:

squares = []
for i in range(10):
    squares.append(i * i)

Nachher:

squares = [i * i for i in range(10)]

📋 Dokumentation erzeugen

Prompt 1 – Python-Docstring generieren

def berechne_steuer(netto, steuersatz):
    """
    Berechnet die Steuer und den Bruttobetrag auf Basis des Nettobetrags.
 
    Args:
        netto (float): Der Nettobetrag.
        steuersatz (float): Der Steuersatz in Prozent (z. B. 19 für 19%).
 
    Returns:
        tuple: Enthält den Steuerbetrag und den Bruttobetrag.
    """
    steuer = netto * (steuersatz / 100)
    brutto = netto + steuer
    return steuer, brutto

✅ Tests erzeugen

Prompt 1 – Unit-Test

import unittest
from mymodule import calculate_discount
 
class TestDiscount(unittest.TestCase):
    def test_normal_case(self):
        self.assertEqual(calculate_discount(100, 20), 80)
 
    def test_zero_percent(self):
        self.assertEqual(calculate_discount(100, 0), 100)
 
    def test_full_discount(self):
        self.assertEqual(calculate_discount(100, 100), 0)
 
if __name__ == '__main__':
    unittest.main()

📘 Lernen & Erklären

Prompt 2 – Vergleich „map“ vs. „forEach“ in JavaScript

// map: Gibt ein neues Array zurück
const zahlen = [1, 2, 3];
const verdoppelt = zahlen.map(n => n * 2);  // [2, 4, 6]
 
// forEach: Führt nur eine Aktion aus
zahlen.forEach(n => console.log(n * 2));    // Ausgabe: 2, 4, 6

Tool-Hinweise: Code- und Entwickler-KI

KI-Tools im Bereich Softwareentwicklung helfen beim Schreiben, Erklären, Optimieren und Testen von Code. Einige sind als Editor-Plugins verfügbar, andere arbeiten webbasiert oder als API-Dienst.

🧰 Übersicht nützlicher Entwicklungs-KI-Tools

  • GitHub Copilot (OpenAI + GitHub)
    1. KI-Code-Vervollständigung in Echtzeit
    2. Unterstützt viele Sprachen (Python, JavaScript, Go etc.)
    3. Integriert in VS Code, JetBrains, Neovim
    4. Gut für Boilerplate, Tests, kleine Snippets
  • Cursor
    1. Spezialisierter KI-Code-Editor mit eingebautem Chat
    2. Kontextuelles Prompting direkt im Codebereich
    3. Ideal für komplexe Refactorings, Erklärungen und Paarprogrammierung
    4. Unterstützt GPT-4, Claude & Co.
  • Amazon CodeWhisperer
    1. Besonders für Cloud-/AWS-Projekte geeignet
    2. Integration in Visual Studio Code und JetBrains
    3. Guter Support für Python, Java, JavaScript
  • ChatGPT (mit Code Interpreter / Advanced Data Analysis)
    1. Flexibel für Erklärungen, Debugging, Tests
    2. Kann komplette Funktionen schreiben, umstrukturieren und erklären
    3. Auch für Datenbearbeitung, Regex, API-Beispiele
  • Tabnine
    1. Autovervollständigung via KI, trainiert auf Open Source
    2. Lokal einsetzbar, mehr Datenschutz
    3. Schneller als viele Cloud-Tools, aber weniger „intelligent“ als GPT-basiert
  • Replit Ghostwriter
    1. Integriert in Replit IDE (online)
    2. Besonders für schnelle Prototypen und kleine Projekte
    3. Unterstützt Pair Programming mit KI-Coach
  • Codeium
    1. Kostenlose Alternative zu Copilot
    2. Gute Unterstützung für viele Sprachen
    3. Starke Integration in VS Code und JetBrains
    4. Datenschutzfreundlicher Ansatz
  • Kite (eingestellt, aber historisch relevant)
    1. Früher Vorreiter im Bereich Code-KI
    2. Hinweis: 2022 eingestellt

📎 Hinweis

Viele Tools setzen auf GPT-Modelle im Hintergrund. Wer maximale Kontrolle und Datenschutz benötigt, sollte auf lokale Modelle (z. B. Tabnine, Codeium mit Offline-Modus) oder gut konfigurierbare APIs achten.

praxis/code.1746898406.txt.gz · Zuletzt geändert: 2025/05/10 19:33 von rene

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
Chat
WiKiBot ×
Laden...