z. Zeilenwerk
← Zur Übersicht

Eine kleine Änderung.
Eine doppelte Zahlung?

Ein Review des Zahlungswegs zeigt, wie Zeilenwerk einen Hinweis aus dem Zusammenhang begründet. Der Code ist ein vereinfachtes Beispiel.

{ }src / billing / invoice.ts+ 12   − 4
28async function createInvoice(items) {
29 const total = items.reduce(sum, 0);
30+ await chargeCustomer(total);1
31 return saveInvoice({ total });
32}
z.
ZeilenwerkLOGIK · PRÜFHINWEIS

Was passiert bei einem erneuten Versuch?

Wird das Speichern abgebrochen, kann ein zweiter Aufruf dieselbe Zahlung erneut auslösen. Ein Idempotenzschlüssel schützt den Zahlungsweg.

Zeilen 30–32Begründung lesen ↗
BEISPIEL-REVIEWEntscheidung bleibt beim Team.
01

Warum diese Stelle?

Der Aufruf belastet zuerst die Zahlungsmethode und speichert danach die Rechnung. Schlägt das Speichern fehl, bleibt die erfolgreiche Zahlung ohne zugehörigen Datensatz. Ein erneuter Versuch kann die Belastung wiederholen.

Der Hinweis bezieht sich auf die Reihenfolge zweier Seiteneffekte. Eine sichere Lösung muss sowohl Wiederholungen als auch unvollständige Vorgänge berücksichtigen.

02

Welche Tests fehlen?

  • Zahlung erfolgreich, Speichern der Rechnung schlägt fehl.
  • Derselbe Auftrag wird mit identischem Schlüssel wiederholt.
  • Zwei Anfragen erreichen den Zahlungsweg gleichzeitig.
03

Ein nachvollziehbarer Report.

Exporte enthalten Dateipfad, Zeilenbereich, Erklärung und Prüfschwerpunkt. Markdown eignet sich für die Diskussion im Pull Request, JSON für Ihre eigene Auswertung.

## Hinweis: wiederholte Zahlung
Datei: src/billing/invoice.ts
Zeilen: 30–32
Schweregrad: hoch
Prüfbereich: Logik & Randfälle