Skip to main content

Marker für generierten Code (AI-Code-Smells)

FÜR AI-AGENTENChatGPTClaude

Typische Antipatterns und Marker für synthetischen Code („Code mit Geruch“ von KI). Überflüssige, offensichtliche Kommentare, Duplizierung von Hilfsfunktionen in jeder Datei, gefälschte Mocks und unsinnige try-catch-Blöcke, die auf ungeprüfte Generierung hinweisen.

1. Überblick über das Konzept und den Zweck

Jeder erfahrene Senior-Engineer kann während eines Interviews oder bei einem Repository-Audit innerhalb von fünf Sekunden feststellen: „Dieser Code stammt von jemandem, der weiß, was er tut – dieser hier wurde blind aus einem Chatbot kopiert, ohne jegliches Review.“

Künstliche Intelligenz schreibt schnell, weist jedoch spezifische Eigenheiten und „schlechte Gewohnheiten“ auf, die in der Branche als AI Code Smells bezeichnet werden.

Die Kenntnis dieser Marker ist für jeden Einsteiger unerlässlich: Sie hilft Ihnen, das Projekt rechtzeitig von synthetischem Ballast zu befreien und vor Kollegen sowie Kunden als professioneller Entwickler aufzutreten.

2. Die wichtigsten Marker für KI-generierten Code

┌─────────────────────────────────────────────────────────────┐
│                 ТОП-4 МАРКЕРИ «AI CODE SMELLS»              │
├─────────────────────────────────────────────────────────────┤
│ 1. 📢 Банальні коментарі-капітани:                          │
│    // Присвоюємо значення змінній a                         │
│    const a = 10; // Це число десять                         │
├─────────────────────────────────────────────────────────────┤
│ 2. 🖨️ Дублювання утиліт у кожному файлі:                   │
│    Замість імпорту спільної функції `formatDate()` ШІ копіює│
│    однакову функцію на 15 рядків у 7 різних компонентів     │
├─────────────────────────────────────────────────────────────┤
│ 3. 🙈 Порожні блоки поглинання помилок:                     │
│    try { doSomething(); } catch (e) { /* нічого не робимо */│
│    (Помилка стається, але ви ніколи про неї не дізнаєтеся)  │
├─────────────────────────────────────────────────────────────┤
│ 4. 🤹 Гіперускладнення простих речей:                       │
│    Створення 3 класів, фабрики та інтерфейсу заради однієї  │
│    математичної операції додавання двох чисел               │
└─────────────────────────────────────────────────────────────┘

3. Wie man synthetischen Code in professionellen Code verwandelt

Vergleichen Sie die beiden folgenden Code-Fragmente:

❌ Vorher (Typischer Rohausgabe einer KI):

// Функція, яка перевіряє користувача
function checkUser(user: any) {
  try {
    // Якщо користувач існує
    if (user != null) {
      // Повертаємо істину
      return true;
    }
  } catch (err) {
    console.log("Помилка");
  }
  return false;
}

✅ Nachher (Bereinigter Ingenieurscode):

export function isUserActive(user: User | null): boolean {
  return Boolean(user?.isActive);
}

4. Checkliste zur Bereinigung des Projekts vor dem Release

  • Entfernen Sie alle offensichtlichen Kommentare, die lediglich wiederholen, was bereits im Variablennamen steht.
  • Überprüfen Sie die Typen: Ersetzen Sie alle nachlässigen any-Deklarationen durch konkrete TypeScript-Typen.
  • Lagern Sie wiederholte Code-Snippets in separate Ordner wie src/lib oder src/utils aus.
  • Stellen Sie sicher, dass alle Fehlermeldungen tatsächlich protokolliert werden und nicht in leeren catch-Blöcken verschwinden.
/ Häufig gestellte FragenSchema.org FAQPage

FAQ: Marker für generierten Code (AI-Code-Smells)

Dies ist nicht unbedingt ein Fehler, der das Programm sofort zum Absturz bringt. Es handelt sich um einen Indikator für schlechte Architektur oder Nachlässigkeit, der darauf hindeutet, dass der Code hastig geschrieben wurde und bei der Weiterentwicklung des Projekts zwangsläufig zu vielen Fehlern führen wird.
/ Interne Links
Alle Begriffe