Zum Hauptinhalt springen
ai-slop/cpp-not-implementedmanuelle Behebung

Not-implemented-Stub.

Eine Funktion, die `std::logic_error` oder `std::runtime_error` mit der Meldung "not implemented" wirft oder `false && "not implemented"` asserted. Sie kompiliert und scheitert zur Laufzeit.

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.

cpp-not-implemented.cpp
✗ Beanstandet
Money CurrencyConverter::convert(Money amount, Currency target) const {
    throw std::logic_error("convert: not implemented");
}
Warum das anschlägt

Deterministischer Zeilenabgleich: beanstandet `throw std::logic_error("...not implemented...")`, dasselbe mit `std::runtime_error` sowie `assert(false && "...not implemented...")` oder `assert(0 && ...)`, ohne Beachtung der Groß-/Kleinschreibung.

cpp-not-implemented.cpp
✓ Sauber
Money CurrencyConverter::convert(Money amount, Currency target) const {
    const double rate = rates_.lookup(amount.currency(), target);
    return Money{amount.value() * rate, target};
}
Was sich geändert hat

Implementiere die Funktion oder entferne den Stub vor dem Release. Ist eine Operation absichtlich nicht unterstützt, mach das zum Teil der API statt zu einem Platzhalter.

Agenten legen für Funktionen, die sie nicht fertigbekommen, einen Stub an, damit der Build durchläuft, und machen dann weiter.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/cpp-not-implemented

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministischer Zeilenabgleich: beanstandet `throw std::logic_error("...not implemented...")`, dasselbe mit `std::runtime_error` sowie `assert(false && "...not implemented...")` oder `assert(0 && ...)`, ohne Beachtung der Groß-/Kleinschreibung.

Legitimer Code, der NICHT beanstandet wird

Throws, deren Meldung nicht von fehlender Implementierung spricht, andere Exception-Typen und Text in Kommentaren werden nicht beanstandet.

Belege

Teil von aislops C/C++-Regelsatz. Die C/C++-Unterstützung, einschließlich C/C++-spezifischer AI-Slop-Regeln, kam mit aislop v0.14.1.