Einheit 4 / 12

Codeüberprüfung und Fehlersuche

Gewinne:

  • Möglichkeit, KI als Erstbewertungsfilter mit Kategorien und Schweregrad-Tags zu verwenden
  • Fähigkeit, Ergebnisse mit menschlichem Verstand zu filtern, um sie zu verifizieren/falsch positiv zu machen/anzuwenden
  • Fähigkeit, menschliche Genehmigungsanforderungen für Geschäftsregeln, Architektur und sicherheitskritische Entscheidungen durchzusetzen

Bei der Codeüberprüfung wird eine von einem Entwickler geschriebene Änderung von einer anderen Person überprüft, bevor sie zusammengeführt wird. Gute Rezension; Es erkennt Fehler frühzeitig, gibt Informationen weiter und sorgt dafür, dass die Codebasis konsistent bleibt. Aber Rezensionen sind ermüdend, neigen zur Ablenkung und werden unter Zeitdruck oberflächlich. Künstliche Intelligenz ist hier ein doppelter Assistent: Sie ermöglicht es Ihnen, sowohl Ihren eigenen Code, den Sie zur Überprüfung einreichen, vorab zu bereinigen, als auch die PR (Pull Request) einer anderen Person mit einem schärferen Blick zu untersuchen.

Der entscheidende Unterschied ist dieser: KI beschleunigt und verbessert die Prüfung, kann aber nicht die Verantwortung für die Genehmigung übernehmen. Der Satz „KI sah aus, sie ist sauber“ ist keine Befürwortung. Die endgültige Entscheidung zur „Zusammenführung“ liegt bei einem Ingenieur, der den Code und den Kontext kennt.

Was KI gut und was schlecht ist im Rückblick

Gut für: Fehlschläge bei der Nullprüfung, Ressourcenlecks (Datei/Link bleiben offen), nicht abgefangene Ausnahmen, offensichtlich falsche Bedingungen (>= statt >), Umbenennungsvorschläge, Lesbarkeit, fehlende Groß-/Kleinschreibung, einfache Sicherheitsrisiken (wie SQL-String-Verkettung), Erkennung von doppeltem Code.

Schwächen: Tiefgreifende Fehler, die gegen Ihre Geschäftsregeln verstoßen, aber Kontext und Timing erfordern, wie z. B. syntaktisch korrekte Logik, Architekturkonformität, echte Leistungsengpässe, Parallelitätsfehler. KI erzeugt auch falsch-positive Ergebnisse (etwas, das eigentlich kein Problem darstellt, mit einem Problem verwechseln) und falsch-negative Ergebnisse (den eigentlichen Fehler übersehen). Daher handelt es sich bei der Ausgabe um eine „Warnliste“ und nicht um ein endgültiges Urteil.

Achtung: Nur weil die KI „kein Problem“ sagt, beweist das nicht, dass der Code korrekt ist. Falsche Negative schweigen; Die gefährlichsten Fehler sind diejenigen, die in der Rezension nie erwähnt werden.

Systematische Überprüfungsschritte

  1. Geben Sie den Kontext an. Fügen Sie der Eingabeaufforderung den Zweck der Änderung, das relevante Problem und ggf. die Akzeptanzkriterien hinzu. Eine zwecklose Überprüfung führt zu einer zwecklosen Interpretation.
  2. Unterteilen Sie es in Kategorien. Bitten Sie das Modell, die Ergebnisse als „Fehler/Sicherheit/Leistung/Lesbarkeit/Stil“ zu klassifizieren. So trennen Sie das Kritische vom Rauschen.
  3. Fordern Sie eine Schweregradbezeichnung an. Bewerten Sie jeden Befund mit „hoch/mittel/niedrig“ und geben Sie „Ursache“ und „empfohlene Korrektur“ an.
  4. Filtern Sie es mit Ihren eigenen Augen. Bewerten Sie jedes Ergebnis: Ist es real (überprüfen), ist es falsch positiv (schreiben Sie eine Begründung), fehlt etwas (fügen Sie Ihr eigenes Wissen hinzu).
  5. Überprüfen Sie kritische Pfade manuell. Lesen und führen Sie Routen rund um Geld, Identität, Autorisierung und Datenlöschung selbst aus, ohne auf KI angewiesen zu sein.

Drei Mini-Hüllen

Fall 1 – Stiller Nullfehler abgefangen. Ein Team ließ eine 380-Zeilen-PR vorab von der KI prüfen. Das Modell hat eine Möglichkeit gekennzeichnet, bei der eine externe Dienstantwort null sein könnte, es wurden jedoch im Code keine Prüfungen dafür durchgeführt. Der menschliche Prüfer hat diesen Pfad überprüft und eine Nullprüfung hinzugefügt. Ein ähnlicher Fehler führte im Vorquartal zu einer zweistündigen Produktionsunterbrechung.

Fall 2 – Falsch positive Eliminierung. Die KI hat in einer Schleife auf ein „mögliches Leistungsproblem“ hingewiesen. Der Prüfer schloss dies als falsch positiv ab, da er wusste, dass die Schleife nur mit maximal 5 Elementen funktioniert (sie durchläuft eine Aufzählung). Das Model, das den Kontext nicht kannte, warnte; Wer den Kontext kannte, traf die richtige Entscheidung.

Fall 3 – KI hat einen Geschäftsregelfehler übersehen. Während ein Rabattkonto gemäß der Kampagnenregel maximal 30 % betragen sollte, erlaubte der Code 50 %. Der KI ist dieser syntaktisch perfekte logische Fehler nie aufgefallen; weil er die Regel nicht kannte. Der Fehler wurde in der Überprüfung vom Produktbesitzer entdeckt, der die Akzeptanzkriterien kannte. Lektion: Die Validierung von Geschäftsregeln ist eine menschliche Aufgabe.

Vier kopierbare Vorlagen

Zweckorientierte, kategorisierte Überprüfung:

Rolle: Akribischer Code-Reviewer. Zweck der Änderung: {{zweck / problem}}Überprüfen Sie diesen Unterschied. Stellen Sie Ergebnisse in den folgenden Kategorien bereit: [Fehler] [Sicherheit] [Leistung] [Lesbarkeit] [Stil]. Für jedes Ergebnis: Datei:Zeile, Schweregrad (hoch/mittel/niedrig), Ursache, empfohlene Lösung. Markieren Sie „möglich“, wenn Sie sich nicht sicher sind. Sie kennen die Geschäftsregeln nicht; Fragen Sie mich nach Orten, an denen Regeln gelten.{{diff}}

So bereiten Sie die Überprüfung Ihres eigenen Codes vor:

Überprüfen Sie diese Änderung, bevor Sie eine PR eröffnen. Suchen Sie nach: fehlender Null/Fehlerprüfung, Ressourcenleck, Randfall, Geheimnis, ungetestetem Zweig. Listen Sie die Ergebnisse in der Reihenfolge ihrer Priorität auf. Schlagen Sie eine Korrektur für jeweils 1 Zeile vor.{{code}}

Edge-Case-Jagd:

Listen Sie die Eingaben und Situationen auf, in denen diese Funktion möglicherweise nicht funktioniert: leer, null, zu groß, negativ, gleichzeitiger Aufruf, Netzwerkfehler, unvollständige Daten. Schreiben Sie für jeden Fall das erwartete Verhalten und die Wirkung des aktuellen Codes.{{Funktion}}

Sicherheits-Duftscanning (Vorkontrolle):

Suchen Sie in diesem Code nach häufigen Sicherheitsrisiken: SQL-/Befehlsverkettung, nicht validierte Eingabe, unveränderliches eingebettetes Geheimnis, unsichere Deserialisierung, fehlende Berechtigungsprüfung. Unterteilen Sie die Erkenntnisse in „sicher / wahrscheinlich / wissen“. Dies ist ein vorläufiges Screening; Es handelt sich nicht um eine endgültige Entscheidung.{{code}}

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwach: „Ist in dieser PR ein Fehler?“
Stark: „Zweck: Coupon-Rabatt zur Warenkorbsumme hinzufügen (Rabatt darf nicht mehr als 30 % betragen – Sie können diese Regel nicht selbst überprüfen, sagen Sie mir einfach, ob der Code eine Obergrenze vorschreibt). Untersuchen Sie den Unterschied; geben Sie die Ergebnisse nach Kategorie + Schweregrad + vorgeschlagener Korrektur an, markieren Sie „möglich“, wenn Sie unsicher sind. [diff]“

In der starken Version werden die Absicht, die Geschäftsregel und die Grenzen der KI klar dargelegt. Dadurch kommen nützliche Erkenntnisse zustande und der dem Modell unbekannte Bereich bleibt übersichtlich.

Typ finden

KI-Zuverlässigkeit

Rolle des Mannes

Null-/Fehlerprüfung fehlt

hoch

Überprüfen und bewerben

Lesbarkeit/Stil

hoch

Wählen Sie nach Wunsch

Einfacher Sicherheitsgeruch

mittel

Abschließen, mit Fahrzeug scannen

Einhaltung von Geschäftsregeln

niedrig

Es ist völlig menschlich.

Parallelität/Architektur

niedrig

Eine fachkundige Begutachtung ist erforderlich

KI-Überprüfung ist kein Ersatz für menschliche Überprüfung

Positionieren Sie die KI-Überprüfung als „ersten Filter“: einen günstigen, schnellen und unermüdlichen Vorabdurchlauf. Dieser Filter befreit die Aufmerksamkeit des menschlichen Prüfers von unwichtigen Details (einem Leerzeichen, einem Namen) und lenkt sie auf Stellen, die wirklich Nachdenken erfordern – die Geschäftsregel, die Architektur, das Sicherheitsergebnis. Die Genehmigung der Zusammenführung ist jedoch die Unterschrift einer verantwortlichen Person innerhalb des Teams. Bei sicherheitskritischen Änderungen ist eine unabhängige Prüfung durch mindestens einen kompetenten Ingenieur zwingend erforderlich.

Tipp: Lesen Sie die Liste der Ergebnisse, die die KI erzeugt, als „zu überprüfende Dinge“ und nicht als „zu erledigende Aufgaben“. Überprüfen Sie entweder jedes Element und wenden Sie es an oder schreiben Sie in einem Satz auf, warum Sie es bestanden haben. Dieser Trace macht die Überprüfung überprüfbar.

Häufige Fehler

  • Es bedeutet „KI sah aus, es ist sauber“. Dies ist ein falsches Selbstvertrauen aufgrund falscher Negativaussagen.
  • Kein Kontext angegeben. Ohne Zweck und Akzeptanzkriterien produziert das Modell nur oberflächliche Stilinterpretationen.
  • Blindes Anwenden falsch positiver Ergebnisse. Das Beheben jeder Warnung des Modells könnte den laufenden Code beschädigen.
  • Fragen Sie das Modell nach der Geschäftsregel. Das Modell kennt die Regel nicht; Es ist Sache des Menschen, dies zu überprüfen.
  • Diskriminieren Sie Gewalt nicht. Wenn man einen kritischen Sicherheitsbefund und einen Namensvorschlag in dieselbe Tasche steckt, wird das Wichtige in den Schatten gestellt.

Zusammenfassend

KI ist ein unermüdlicher erster Filter bei der Codeüberprüfung: Sie fängt Null-/Fehlerfehler, Randfälle und einfache Sicherheitsgerüche gut ab; Es ist jedoch schwach bei kontextbezogenen Fehlern wie Geschäftsregeln, Architektur und Parallelität und erzeugt sowohl falsch-positive als auch falsch-negative Ergebnisse. Fordern Sie Ergebnisse nach Kategorie und Schweregrad an, filtern Sie sie mit menschlicher Intelligenz und überprüfen Sie kritische Pfade manuell. Die Genehmigung erfolgt immer durch die Unterschrift eines verantwortlichen Ingenieurs.

Anwendungsaufgabe

Wählen Sie einen echten oder aktuellen PR/Diff aus. Lassen Sie es zunächst von der KI mit der Vorlage „objektive, kategoriebezogene Überprüfung“ überprüfen. Tragen Sie die Ergebnisse in eine Tabelle ein und entscheiden Sie für jedes einzelne: wahr (ich habe es überprüft), falsch positiv (hier ist meine Begründung) oder umsetzbar. Machen Sie dann selbst einen Rundgang und versuchen Sie, mindestens eine Sache (insbesondere eine Geschäftsregel oder einen Randfall) zu finden, die der KI fehlt, und schreiben Sie sie auf.

Checkliste

  • [ ] Ich verwende die KI-Bewertung als ersten Filter, nicht als Empfehlung.
  • [ ] Ich füge den Zweck und die Akzeptanzkriterien zur Bewertungsaufforderung hinzu.
  • [ ] Ich trenne die Ergebnisse vom Rauschen nach Kategorien und möchte sie unbedingt haben.
  • [ ] Ich filtere bewusst jedes Ergebnis, um es zu bestätigen/falsch positiv/anzuwenden.
  • [ ] Als Mensch überprüfe ich die Einhaltung von Geschäftsregeln und Architektur.
  • [ ] Für sicherheitskritische Änderungen benötige ich die Genehmigung eines qualifizierten Ingenieurs.