Zum Inhalt

Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).

Programmieren mit KI

Hinweis zur Software-Auswahl:
Diese Dokumentation priorisiert Open-Source-Software, die lokal unter Ubuntu installiert und betrieben werden kann.
Bei proprietären Services wird stets eine Open-Source-Alternative mit gleichem Funktionsumfang gegenübergestellt.
LLM-Modelle und APIs werden unabhängig vom Preis gelistet, da sie die Grundlage für Code-Intelligenz darstellen.


Legende

Symbol Bedeutung
🟩 Open Source – kostenlos, lokal / Ubuntu-kompatibel
💰 Kostenpflichtig
🤖 LLM-Modell / API – bleibt immer gelistet
🐧 Linux / Ubuntu nativ
🌐 Nur Web-Browser

Lernpfad-Übersicht

graph LR
    A["🟢 Phase 1\nKonzeption & Code"] --> B["🟡 Phase 2\nTests & Debugging"]
    B --> C["🔴 Phase 3\nReview & CI/CD"]
    A --> A1["Anforderungs-Check\nContinue.dev & Ollama\nFunktionen generieren"]
    B --> B1["Unit-Tests (pytest)\nDebugging-Workflows\nCode-Refactoring"]
    C --> C1["Code-Review & Linting\nSecurity Scan (Semgrep)\nCoding-Agenten (Aider)\nCI/CD Integration"]

Inhaltsverzeichnis


🟢 Phase 1 – Konzeption & Code-Generierung

Was lerne ich hier?
Wie du Anforderungen präzise an KIs übergibst, den Unterschied zwischen automatischer Vervollständigung und Chat-Generierung verstehst und deine lokale IDE aufrüstest.
Voraussetzungen: Grundlegende Programmierkenntnisse.


1.1 Konzept: KI-Unterstützung über den gesamten Software-Lebenszyklus

Die Phasen der Codeerstellung

KI-Unterstützung beschränkt sich nicht nur auf das Schreiben von Codezeilen. Sie erstreckt sich über alle Entwicklungsphasen:

graph TD
    A["📋 1. Anforderungen klären"] --> B["📐 2. System-Design / API"]
    B --> C["💻 3. Code schreiben"]
    C --> D["🧪 4. Tests schreiben"]
    D --> E["🐛 5. Debugging"]
    E --> F["📖 6. Dokumentation"]
    F --> G["🚀 7. Deployment / CI-CD"]

1.2 Thema: Konzeption & API-Design mit KI

Konzept: Spezifikationen und JSON-Schemata generieren

Bevor eine Zeile Code geschrieben wird, hilft die KI, die Datenstruktur festzulegen. Ein OpenAPI-Dokument oder eine JSON-Spezifikation lässt sich präzise über einen System-Prompt entwerfen.


1.3 Thema: Code-Completion vs. Chat-basierte Code-Generierung

Zwei unterschiedliche Interaktionsmuster

  • Code-Completion (Inline): Arbeitet unauffällig im Hintergrund. Schlägt das nächste Wort oder die nächste Zeile vor, während du tippst (FIM-Prinzip: Fill-in-the-Middle).
  • Chat-basierte Generierung: Du stellst eine explizite Frage in einer Seitenleiste und bekommst einen vollständigen Codeblock inklusive Erklärung zurück.

1.4 Thema: Lokale Integration in VSCodium (Continue.dev)

Konzept: Datenschutzkonformer IDE-Copilot

Über das Open-Source-Plugin Continue.dev verbindest du deine IDE mit einem lokalen Ollama-Server auf deinem Ubuntu-Rechner. Dein Quellcode verlässt somit niemals deine eigene Hardware.

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 VSCodium IDE Der quelloffene Code-Editor ohne Telemetrie 🐧 Ja vscodium.com
🟩 Continue.dev IDE-Plugin Verbindet VSCodium mit lokalen oder Cloud-LLMs 🐧 Ja continue.dev
🟩 🤖 Ollama LLM Server Lokaler Modell-Server (Modelle: DeepSeek-Coder, Qwen) 🐧 Ja ollama.com

Vergleich: Open Source vs. Kommerziell

Funktion Open Source 🟩 (Ubuntu / Lokal) Kommerziell 💰
Code-Assistent VSCodium + Continue.dev + Ollama VS Code + GitHub Copilot, Cursor

🟡 Phase 2 – Testing, Debugging & Refactoring

Was lerne ich hier?
Wie du automatische Tests schreibst, Fehler systematisch behebst und deinen Code so aufräumst, dass er wartbar bleibt.
Voraussetzungen: Phase 1 abgeschlossen.


2.1 Konzept: Der iterative Entwicklungs- und Testzyklus

Roter und grüner Code

graph LR
    A["Code schreiben"] --> B["🤖 KI: 'Schreibe pytest-Tests'"]
    B --> C["🧪 Tests ausführen"]
    C -->|Fehlgeschlagen| D["🤖 KI: 'Debugge diesen Fehler'"]
    D --> A
    C -->|Erfolgreich| E["🤖 KI: 'Refaktoriere für Clean Code'"]
    E --> F["✅ Code committen"]

2.2 Thema: Automatisches Generieren von Unit-Tests

Konzept: Testabdeckung und Edge-Cases

KI ist hervorragend darin, stupide Schreibarbeit zu übernehmen. Sie generiert Unit-Tests für deine Funktionen und findet dabei oft Randfälle (z. B. leere Listen, negative Zahlen, ungültige Zeichen), an die du selbst nicht gedacht hast.

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 pytest Test-Framework Der Standard für Python-Testing 🐧 Ja pytest.org
🟩 Vitest Test-Framework Ultraschnelles Test-Framework für JavaScript/TypeScript 🐧 Ja vitest.dev

2.3 Thema: Systematisches Debugging mit Stack Traces

Der strukturierte Debug-Prompt

Anstatt Fehlermeldungen manuell zu suchen, kopierst du den kompletten Traceback in den Chat:

Prompt: "Erkläre diese Fehlermeldung verständlich und schlage einen Bugfix vor.
         Traceback: [Fehler-Text]
         Code: [Code-Ausschnitt]"

2.4 Thema: Code-Refactoring & Verbesserung der Lesbarkeit

Refactoring-Paradigmen

  • DRY (Don't Repeat Yourself): Redundanzen entfernen.
  • KISS (Keep It Simple, Stupid): Code-Komplexität minimieren (keine tief verschachtelten If-Bedingungen).
  • PEP 8 / Clean Code: Einhaltung des offiziellen Python-Design-Guides.

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 Ruff Linter / Formatter Extrem schneller Linter zur Einhaltung von Programmierstandards 🐧 Ja github.com/astral-sh
🟩 Black Formatter Formatierung des Python-Codes nach PEP 8 🐧 Ja github.com/psf/black

🔴 Phase 3 – Code-Review, Security & Automation

Was lerne ich hier?
Wie du automatische Sicherheitsprüfungen in deine Pipeline einbaust, Code-Reviewprozesse automatisierst und autonome Coding-Agenten nutzt.
Voraussetzungen: Phase 1 & 2 abgeschlossen. Git-Grundkenntnisse.


3.1 Konzept: Qualitätssicherung in der Team-Pipeline

graph TD
    A["git push"] --> B["☸️ CI/CD Server (Woodpecker CI)"]
    B --> C["🔍 Ruff Linter (PEP 8)"]
    B --> D["🧪 pytest (Unit Tests)"]
    B --> E["🔒 Semgrep Security Scan"]
    C --> F{"Alle Checks ok?"}
    D --> F
    E --> F
    F -->|Ja| G["✅ Pull Request freigeben"]
    F -->|Nein| H["❌ Build abgelehnt"]

3.2 Thema: Automatisches Code-Review vor dem Merge

Konzept: Automatisches Feedback für Entwickler

Über Open-Source-Tools (wie reviewdog) analysiert die KI die Differenz (git diff) einer Änderung und postet Verbesserungsvorschläge direkt als Review-Kommentar in den Pull Request.

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 reviewdog Code-Review Postet automatisch Linter-Ergebnisse in Pull Requests 🐧 Ja github.com/reviewdog

3.3 Thema: Sicherheitsprüfung (Security Auditing) mit KI

Konzept: Statische Code-Analyse (SAST)

Sicherheits-Scanner suchen nach unsicheren Code-Mustern (z. B. hardcodierte API-Keys, SQL-Injections, unsichere Kryptografie), bevor der Code deployed wird.

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 Semgrep SAST Findet Programmierfehler und Sicherheitslücken im Code 🐧 Ja semgrep.dev
🟩 Trivy Scanner Scant Programm-Bibliotheken auf bekannte Schwachstellen 🐧 Ja github.com/aquasecurity

3.4 Thema: Autonome Coding-Agenten im Terminal (Aider)

Konzept: Git-integriertes autonomes Coding

Ein Terminal-Agent (wie Aider) liest deine Aufgabe, sucht selbstständig die passenden Dateien im Repository, ändert den Code, führt Tests aus und erstellt bei Erfolg direkt einen Git-Commit mit passender Commit-Message.

# Aider lokal mit Ollama starten
aider --model ollama/deepseek-coder-v2

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 Aider KI-Agent Autonomer Coding-Agent auf Terminalebene 🐧 Ja aider.chat

📋 Praxisprojekte

🟢 Einsteiger: Erste Schritte mit VSCodium und Continue.dev

Wir richten die lokale IDE ein, laden ein kleines Python-Modell über Ollama und generieren eine Funktion zur Validierung von E-Mail-Adressen.

graph LR
    A["📦 VSCodium + Continue.dev"] --> B["🧠 Ollama (DeepSeek-Coder)"]
    B --> C["💻 Ctrl+I: 'E-Mail Validierungs-Funktion'"]
    C --> D["✅ Code wird inline eingefügt"]

Software (alle Open Source): VSCodium · Continue.dev · Ollama


🟡 Fortgeschritten: Testgetriebene Entwicklung (TDD) eines API-Clients

Wir lassen uns von der KI Tests für eine Wetter-API generieren und schreiben anschließend die API-Implementierung, bis alle Tests erfolgreich durchlaufen.

Software (alle Open Source): Python · pytest · VSCodium · Continue.dev


🔴 Experte: Vollautomatisierte Code-Prüfung in Gitea

Wir bauen eine Gitea-Actions-Pipeline, die bei jedem Push automatisch Tests läuft, den Code mit Semgrep auf Sicherheitslücken prüft und eine Rückmeldung per Linter an den PR sendet.

graph TD
    A["git push"] --> B["⚙️ Gitea Actions Runner (Ubuntu)"]
    B --> C["🧪 pytest-Ausführung"]
    B --> D["🔒 Semgrep-Sicherheitsprüfung"]
    C --> E["📊 Status im Gitea Dashboard"]
    D --> E

Software (alle Open Source): Gitea · Gitea Actions · Semgrep · pytest · Docker


📦 Vollständige Softwareübersicht & Vergleich

Code-Generierung & IDEs

Funktion Open Source 🟩 (Ubuntu / Lokal) Kommerziell 💰
Editor & Code-Assistent VSCodium 🐧 + Continue.dev 🐧 VS Code + GitHub Copilot, Cursor
Terminal-Coding-Agent Aider 🐧 Devin, Cursor Composer

Testing & Code-Qualität

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Test-Framework (Python) pytest 🐧
Test-Framework (JS/TS) Vitest 🐧
Code-Formatierung Ruff 🐧, Black 🐧

Code-Review & Security-Scanning

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Static Security Analysis Semgrep 🐧, Trivy 🐧 Snyk Pro
Review-Automation reviewdog 🐧

Weiterführende Ressourcen


Letzte Aktualisierung: Juli 2026

Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).