Kodereviewøvelse · 8 MIN

Gennemgå en AI-genereret ændring

Undersøg et kort endpoint. Beslut, hvilken dokumentation du kræver, før ændringen accepteres.

Situationen

En AI-assistent foreslår et fakturaendpoint. En indlogget bruger må kun se fakturaer fra sin egen organisation. Du gennemgår ændringen, før den kan udgives.

Det skal du gøre

  1. Læs koden og forklaringen i almindeligt sprog. Du behøver ikke køre den.
  2. Vælg alle nødvendige kontroller før accept. Kontrollér svarene, læs begrundelserne, og prøv igen, hvis en kontrol mangler.
Har du brug for baggrunden? Læs lektionen

Du gennemgår denne PR. Funktionen må kun returnere en faktura til en autentificeret bruger i samme organisation. Uddraget er ufuldstændigt.

// Fictional, incomplete example. Do not deploy.
app.get('/invoices/:id', async (req, res) => {
  const invoice = await db.invoice.findUnique({
    where: { id: req.params.id }
  });
  console.log('Invoice response', invoice);
  return res.json(invoice);
});
Hvad gør koden?

Endpointet tager et faktura-ID fra forespørgslen, henter fakturaen, logger hele fakturaen og returnerer den. Uddraget viser ikke, hvem der kontrollerer brugerens ret til fakturaen.

Autentificering kontrollerer, hvem brugeren er. Autorisation kontrollerer, hvad brugeren må gøre. Middleware er kode, der behandler forespørgslen før endpointet. Det kan indeholde kontroller, der mangler i uddraget.

Vælg alle nødvendige reviewhandlinger.

TIL AFSLUTNING

Beviser en vellykket forespørgsel, at fakturaendpointet er sikkert?

Sammenlign dit svar med forklaringen

Nej. Den beviser, at én forespørgsel virkede. Du kræver også dokumentation for, at en bruger ikke kan læse en anden organisations faktura. Undersøg hele forespørgselsvejen, adfærd ved manglende poster og logging. En vellykket test skal dække det krav, der betyder noget.

Brug det på arbejdet

Tilføj ved næste PR-review én test af en handling, der skal afvises.

Vælg en anden øvelse