Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Buone pratiche per l'ottimizzazione software

Link copiato negli appunti

Abbiamo spesso parlato delle buone pratiche da seguire durante la programmazione, della code review e della realizzazione di un progetto software. Oggi vogliamo portarvi l'esperienza di Emil Persson, Senior Graphics Engineer per Epic Games, che in un recente post sul suo blog personale ha pubblicato diversi consigli sull'ottimizzazione software sulla revisione dei sorgenti.

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

Ti consigliamo anche