Ho faticato parecchio con Eclipse e con i monitoraggi progressivi per cercare di avere delle buone barre di avanzamento che riportano utili informazioni sull'avanzamento all'utente. Inevitabilmente il codice si riempie di molte cose come
if (monitor.isCancelled())
return;
...
lengthyMethodCall(monitor.newChild(10));
e dappertutto ho bisogno di passare un IProgressMonitor
come argomento ai miei metodi. Questo è male, per diversi motivi:
- Il codice viene ingombrato da un sacco di codice che non è rilevante per ciò che effettivamente fa la funzione.
- Devo ipotizzare manualmente quali parti del codice impiegano tempo e quali parti no.
- Interagisce male con i test automatici; dove gran parte delle informazioni che vanno in una barra di progressione dovrebbero invece essere registrate per un'ispezione successiva.
C'è una via d'uscita? Esistono strumenti che possono aiutarmi con uno o più di questi problemi? Dovrei guardare agli strumenti di programmazione orientata agli aspetti o ci sono altre alternative?