In un suo tweet Persson ha stilato una semplice lista delle sue personali regole da seguire:

  • pensa l'applicazione in modo che sia performante fin dal primo giorno;
  • esegui spesso il software profiling;
  • poni attenzione alla regressione delle prestazioni;
  • analizza ed esplora i dati e l'hardware di cui disponi;
  • studia il compilatore;
  • verifica le assumption.

Per lo sviluppatore è sempre bene pensare fin da subito, ma anche durante l'intera progettazione e lo sviluppo, all'ottimizzazione del codice. La fase di code review non è l'unico momento dove il codice va corretto ed ottimizzato.

L'ottimizzazione infatti non dovrebbe essere mai rimandata ma sempre affrontata il prima possibile. Bisogna dunque sviluppare una cultura dell'ottimizzazione, gli sviluppatori software dovrebbero abituarsi a tenere in considerazione le performance fin dalla genesi del proprio progetto, adottando tool che possano rendere più facile la comprensione del codice e la verifica delle sue performance durante tutte le fasi di creazione di un programma o di un servizio.

Scarse prestazioni portano ad una scarsa esperienza utente, elemento che genera frustrazione sia all'utente finale che al team di sviluppatori. Durante il suo lavoro per Epica Games, Persson ha assimilato il valore dell'ottimizzazione del codice ad ogni livello: in determinati mercati, se non si pensa da subito ad ottimizzare il codice, si possono anche compromettere le vendite.

Sopratutto in ecosistemi dove le patch devono poi essere valutate da team di terze parti, come avviene quando si sviluppa titoli multi piattaforma, la quality code è essenziale. Se ad esempio un gioco non è ben ottimizzato per una determinata console, questo non sarà pubblicabile perché l'azienda proprietaria di quella piattaforma non darà l'ok per il rilascio.

Ovviamente Persson non consiglia di andare a spulciare ogni singolo byte, è invece necessario entrare in un'ottica di prevenzione del degrado delle prestazioni. Non si deve essere ossessionati dalle performance ed è bene dare il giusto peso alle operazioni di debug, al rispetto dei protocolli di sicurezza e all'implementazione di nuovo codice e funzionalità.

È inoltre necessario comprendere che i bug sono un problema e una responsabilità dell'intero team di sviluppo, quindi non solo di chi si occupa della revisione software. Se durante le fasi di coding si nota un calo di prestazioni rilevante è bene fermarsi e analizzare collettivamente le motivazioni che portano il software a comportarsi in questo modo.

Via Emil Persson

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *