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
- Lees de code en de uitleg in gewone taal. U hoeft die niet uit te voeren.
- Selecteer elke controle die vóór acceptatie nodig is. Controleer uw antwoorden, lees de redenen en probeer opnieuw als een controle ontbreekt.
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.
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