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
82Leggibilità
86Costo domani
22Dentro 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.