ThinkWi-KI

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

Benutzer-Werkzeuge

Webseiten-Werkzeuge


handbook:formate:code

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
handbook:formate:code [2025/04/02 17:34] – angelegt renehandbook:formate:code [2025/05/08 14:56] (aktuell) – gelöscht 181.214.13.86
Zeile 1: Zeile 1:
-====== 3.3. 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. 
- 
-<code python> 
-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 
-</code> 
- 
---- 
- 
-**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. 
- 
-<code sql> 
-SELECT id, name, email, created_at 
-FROM users 
-WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH); 
-</code> 
- 
---- 
- 
-**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. 
- 
-<code html> 
-<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> 
-</code> 
- 
---- 
- 
-=== 🐛 Fehleranalyse & Debugging === 
- 
-**Prompt 1 – Python-Fehler erklären**   
-> `TypeError: unsupported operand type(s) for +: 'int' and 'str'` 
- 
-<code python> 
-# 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 
-</code> 
- 
---- 
- 
-**Prompt 2 – Code-Review anfordern**   
-*(nur als Platzhalter: hier kann realer User-Code eingefügt werden)* 
- 
-<code javascript> 
-// Verbesserungsvorschlag: 
-function sumArray(arr) { 
-  if (!Array.isArray(arr)) return 0; 
-  return arr.reduce((acc, val) => acc + val, 0); 
-} 
-</code> 
- 
---- 
- 
-=== 🔄 Refactoring & Optimierung === 
- 
-**Prompt 1 – Lesbarkeit verbessern**   
- 
-Vorher: 
-<code python> 
-def a(x): 
- for i in x: 
-  if i>5:print(i) 
-</code> 
- 
-Nachher (refactored): 
-<code python> 
-def print_greater_than_five(numbers): 
-    for number in numbers: 
-        if number > 5: 
-            print(number) 
-</code> 
- 
---- 
- 
-**Prompt 2 – List Comprehension** 
- 
-Vorher: 
-<code python> 
-squares = [] 
-for i in range(10): 
-    squares.append(i * i) 
-</code> 
- 
-Nachher: 
-<code python> 
-squares = [i * i for i in range(10)] 
-</code> 
- 
---- 
- 
-=== 📋 Dokumentation erzeugen === 
- 
-**Prompt 1 – Python-Docstring generieren** 
- 
-<code python> 
-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 
-</code> 
- 
---- 
- 
-=== ✅ Tests erzeugen === 
- 
-**Prompt 1 – Unit-Test** 
- 
-<code python> 
-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() 
-</code> 
- 
---- 
- 
-=== 📘 Lernen & Erklären === 
- 
-**Prompt 2 – Vergleich „map“ vs. „forEach“ in JavaScript** 
- 
-<code 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 
-</code> 
  
handbook/formate/code.1743608069.txt.gz · Zuletzt geändert: 2025/04/02 17:34 von rene

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