Vai al contenuto

Nella guida Rust di Google lo stile serve anche ai refactoring

La guida pubblica spiega scelte di API e organizzazione pensate anche per modifiche automatiche su grandi codebase, distinguendo le regole legate a Chromium e Fuchsia.

Che succede

Cambiare un’API in un progetto enorme può richiedere interventi sparsi in tutta la codebase. La guida pubblica di Google per Rust parte anche da questa esigenza: preferisce convenzioni che rendano più semplici le modifiche estese assistite da strumenti automatici.

Per questo parla di progettazione delle API e organizzazione del codice, oltre che di formattazione. Un esempio è l’indicazione di evitare gli import con asterisco, salvo eccezioni: rendono più laboriose le modifiche su larga scala e meno evidente la provenienza di un tipo quando mancano strumenti di navigazione.

La scala del progetto si vede anche nella preferenza per crate piccoli in Chromium, legata al grafo delle dipendenze, alla compilazione parallela e alla cache. Qui la guida esplicita il contesto: alcune regole sono marcate per Chromium o Fuchsia, con indicazioni specifiche per quei progetti.

La guida distingue anche fra codice di libreria e codice di applicazione. Per quest’ultimo invita a evitare generalizzazioni premature: una libreria riutilizzabile e una funzione scritta per un compito specifico hanno esigenze diverse.

Perché conta

Il divieto degli import con asterisco ha una motivazione poco estetica: risparmiare lavoro a chi dovrà modificare il codice su larga scala. Nella guida Rust di Google anche una scelta così minuta tiene conto di persone e strumenti che passeranno molto dopo il primo autore.

Vuoi sapere di più su pillole come questa?