Exercici de revisió de codi · 8 min

Reviseu un canvi generat amb IA

Examineu un endpoint breu. Decidiu quines evidències necessiteu abans d'acceptar el canvi.

La situació

Un assistent d'IA proposa un endpoint de factures. Un usuari que ha iniciat sessió només ha de veure les factures de la seva pròpia organització. Reviseu el canvi abans que es pugui publicar.

Què cal fer

  1. Llegiu el codi i la seva explicació en llenguatge planer. No cal que l'executeu.
  2. Trieu totes les comprovacions necessàries abans de l'acceptació. Comproveu les respostes, llegiu els motius i torneu-ho a provar si falta alguna comprovació.
Necessiteu context? Llegiu la lliçó

Reviseu aquesta PR. La funcionalitat només ha de retornar una factura a un usuari autenticat de la mateixa organització. El fragment és incomplet.

// 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);
});
Què fa el codi?

L'endpoint agafa un identificador de factura de la petició, recupera aquella factura, la registra sencera i la retorna. El fragment no mostra qui comprova el dret de l'usuari a accedir a aquesta factura.

L'autenticació comprova qui és l'usuari. L'autorització comprova què pot fer. El middleware és codi que processa la petició abans d'aquest endpoint. Pot contenir comprovacions que no apareixen en aquest fragment.

Trieu totes les accions de revisió necessàries.

PER ACABAR

Una petició reeixida demostra que l'endpoint de factures és segur?

Compareu la vostra resposta amb l'explicació

No. Demostra que una petició ha funcionat. També necessiteu evidències que un usuari no pot llegir una factura d'una altra organització. Examineu el recorregut complet de la petició, el comportament quan falta el registre i els registres d'activitat. Una prova superada ha de cobrir el requisit que importa.

Apliqueu-ho a la feina

A la vostra pròxima revisió de PR, afegiu una prova d'una acció que s'hagi de denegar.

Tria un altre exercici