Zum Hauptinhalt springen
ai-slop/constant-conditionmanuelle Behebung

Konstante Bedingung.

Ein `if` oder `while`, dessen Bedingung eine Konstante ist – `if (true)`, `while (false)`, `if (1)` – und einen toten Zweig im Quellcode hinterlässt.

Beanstandete und saubere Form.

Jedes Beispiel zeigt genau die Codeform, nach der die Regel sucht, und dann die kleinste Version, die die Absicht bewahrt, ohne Risiken zu verstecken oder Rauschen hinzuzufügen.

constant-condition.ts
✗ Beanstandet
if (true) {
  doStuff()
} else {
  // never runs
  fallback()
}
Warum das anschlägt

Deterministischer AST-Abgleich: beanstandet Bedingungen, deren Test zur Compile-Zeit zu einer Konstanten ausgewertet wird.

constant-condition.ts
✓ Sauber
if (config.featureEnabled) {
  doStuff()
} else {
  fallback()
}
Was sich geändert hat

Entferne hartkodierte Debug-Zweige oder ersetze sie durch echte Konfiguration. Die Bedingung sollte Laufzeitverhalten beschreiben, keinen temporären Schalter, der liegen geblieben ist.

Agenten lassen nach dem Testen Debug-Schalter oder temporäre Feature-Flags hartkodiert stehen. Die Hälfte des Zweigs ist unerreichbar; der Leser muss herausfinden, welche Hälfte echt ist.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/constant-condition

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministischer AST-Abgleich: beanstandet Bedingungen, deren Test zur Compile-Zeit zu einer Konstanten ausgewertet wird.

Legitimer Code, der NICHT beanstandet wird

Bewusste Endlosschleifen (`while (true)` mit break) und Konstanten aus echter Konfiguration werden nicht beanstandet.

Belege

Herkunft: wiederholt in öffentlichen Scans als liegen gebliebener, hartkodierter Debug-Schalter aufgetreten.