Chi sviluppa programmi sa bene che durante la realizzazione e la fase di debug, si analizzano diversi frammenti di codice sparsi in differenti file. Attualmente tutti gli IDE disponibili propongono la visualizzazione del codice basandosi proprio sul file come unità base. Ma con l’aumentare delle dimensioni del progetto e il numero di righe di codice scritte, seguire il flusso logico e avere una visione simultanea dei frammenti di interesse diviene sempre più complicato.
Un primo aiuto nei tool di sviluppo è la funzione di
split della finestra, ma consente di paragonare frammenti di codice presenti solo nel medesimo file, e comunque a discapito della superficie utile dello schermo.
Un altro possibile approccio per seguire il flusso del codice attraverso l’esecuzione è la realizzazione dei
sequence diagram; tuttavia essi non consentono di visualizzare contemporaneamente i frammenti di codice, focalizzano l’attenzione sulla sequenza di azioni, e non compaiono né i flussi alternativi né le scelte.
I ricercatori della Brown University hanno adottato un nuovo approccio per semplificare il lavoro degli sviluppatori, ponendo alla base della visualizzazione del codice il
frammento e non il file che lo contiene. E' stata usata una nuova metafora per l’interfaccia utente, che utilizza delle finestre collegate tra loro indicate come
bolle, visualizzando contemporaneamente frammenti di codice di interesse, pur appartenendo a file differenti.
L'obiettivo è quello di rendere più facile per gli sviluppatori avere la visione di insieme, e di vedere molti frammenti di codice (o altre informazioni) in una sola volta,
senza dover navigare avanti e indietro. Ognuno di questi frammenti è mostrato in una bolla, il cui concetto si avvicina a quello delle finestre, ma a differenza di queste hanno un minimo bordo decorativo, evitano di tagliare la visualizzazione del codice, eseguendone automaticamente l’adattamento, e impedendo la sovrapposizione grazie all’autodisposizione delle stesse.
E’ stato realizzato un
IDE per Java, che mette in pratica i concetti esposti, ed è stato distribuito a una ventina di sviluppatori esperti per avere riscontri in termini di produttività e impressioni sull’uso. Lo studio ha evidenziato come il nuovo approccio ha semplificato in modo significativo le attività di controllo e comprensione del codice, e ha ricevuto feedback favorevoli da coloro che hanno utilizzato questo IDE.
Maggiori informazioni su come i nuovi concetti semplifichino l’attività di sviluppo si possono avere dal
video pubblicato dagli sviluppatori e sul
sito dell’università, dove sono elencate tutte le funzioni implementate nel prototipo e da dove si può scaricare una versione beta, previa registrazione gratuita.