Esercizio di code review · 8 MIN
Revisiona una modifica generata dall'AI
Esamina un breve endpoint. Decidi quali prove servono prima di accettare la modifica.
La situazione
Un assistente AI propone un endpoint per le fatture. Un utente autenticato deve vedere solo fatture della propria organizzazione. Stai revisionando la modifica prima che possa essere rilasciata.
Che cosa fare
- Leggi il codice e la spiegazione in linguaggio semplice. Non devi eseguirlo.
- Seleziona ogni verifica necessaria prima dell'accettazione. Controlla le risposte, leggi le motivazioni e riprova se manca una verifica.
Stai revisionando questa PR. La funzionalità deve restituire una fattura solo a un utente autenticato della stessa organizzazione. L'estratto è incompleto.
// 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);
});Cosa fa il codice?
L'endpoint prende un ID fattura dalla richiesta, recupera la fattura, la registra interamente nei log e la restituisce. L'estratto non mostra chi verifichi il diritto dell'utente a questa fattura.
L'autenticazione verifica chi è l'utente. L'autorizzazione verifica cosa può fare. Il middleware è codice che elabora la richiesta prima di questo endpoint. Può contenere verifiche assenti dall'estratto.
PER CONCLUDERE
Una richiesta riuscita dimostra che l'endpoint delle fatture è sicuro?
Confronta la tua risposta con la spiegazione
No. Dimostra che una richiesta ha funzionato. Servono anche prove che un utente non possa leggere la fattura di un'altra organizzazione. Esamina l'intero percorso della richiesta, il comportamento per record mancanti e i log. Un test superato deve coprire il requisito importante.
Applica questo al lavoro
Nella prossima revisione di una PR, aggiungi un test per un'azione che deve essere negata.
Scegli un altro esercizio