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

  1. Leggi il codice e la spiegazione in linguaggio semplice. Non devi eseguirlo.
  2. Seleziona ogni verifica necessaria prima dell'accettazione. Controlla le risposte, leggi le motivazioni e riprova se manca una verifica.
Ti servono le basi? Leggi la lezione

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.

Seleziona tutte le azioni di revisione necessarie.

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