Codereviewoefening · 8 MIN

Review een AI-gegenereerde wijziging

Bekijk een kort endpoint. Bepaal welk bewijs u nodig hebt voordat u de wijziging accepteert.

De situatie

Een AI-assistent stelt een factuurendpoint voor. Een ingelogde gebruiker mag alleen facturen van de eigen organisatie zien. U reviewt de wijziging voordat die kan worden uitgebracht.

Wat u doet

  1. Lees de code en de uitleg in gewone taal. U hoeft die niet uit te voeren.
  2. Selecteer elke controle die vóór acceptatie nodig is. Controleer uw antwoorden, lees de redenen en probeer opnieuw als een controle ontbreekt.
Achtergrond nodig? Lees de les

U reviewt deze PR. De functie mag een factuur alleen teruggeven aan een geauthenticeerde gebruiker uit dezelfde organisatie. Het fragment is onvolledig.

// 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);
});
Wat doet de code?

Het endpoint neemt een factuur-ID uit de aanvraag, haalt die factuur op, logt de volledige factuur en geeft die terug. Het fragment toont niet wie het recht van de gebruiker op deze factuur controleert.

Authenticatie controleert wie de gebruiker is. Autorisatie controleert wat de gebruiker mag doen. Middleware is code die de aanvraag vóór dit endpoint verwerkt. Die kan controles bevatten die in dit fragment ontbreken.

Selecteer alle noodzakelijke reviewacties.

TER AFRONDING

Bewijst een geslaagde aanvraag dat het factuurendpoint veilig is?

Vergelijk uw antwoord met de uitleg

Nee. Die bewijst dat één aanvraag werkte. U hebt ook bewijs nodig dat een gebruiker geen factuur van een andere organisatie kan lezen. Bekijk het volledige aanvraagpad, gedrag bij ontbrekende records en logging. Een geslaagde test moet de belangrijke eis dekken.

Gebruik dit op het werk

Voeg in uw volgende PR-review één test toe voor een actie die moet worden geweigerd.

Kies een andere oefening