Un esperimento sul software fatto bene

Quando il codice resta, le scelte pesano

Una funzionalità può sembrare piccola. Il modo in cui la aggiungi decide quanto sarà facile cambiare il prodotto domani.

Due modi di arrivare alla stessa funzione

Segui tre momenti nella vita di un prodotto. A ogni passo cambia l'approccio: soluzione rapida o costruzione pensata per durare.

Tre momenti

Approccio

Base pulita

La prima richiesta

Prima del lancio serve controllare meglio un pagamento.

Tenuta nel tempo
82
Leggibilità
86
Costo domani
22
Dentro il codiceRendi esplicita la regola
1async function process(order) {2  const payload = buildPaymentPayload(order);3  validatePaymentPayload(payload);4  return api.charge(payload);5}67function validatePaymentPayload(payload) {8  if (payload.total <= 0) throw new Error('Invalid total');9}

C'è un po' più di intenzione, e si vede: chi arriva dopo capisce subito cosa fa la regola e dove cambiarla.

Il conto arriva sempre dopo

La scorciatoia sembra conveniente

All'inizio fa risparmiare tempo. Poi lo riprende a ogni modifica, quando il prodotto avrebbe bisogno di muoversi più veloce.

Il lavoro ben fatto lascia margine

Un sistema leggibile non è più lento per definizione: dà al lavoro futuro un posto chiaro in cui andare.