Francesco Guastella
aka romeoxbm
dep-graphV – Una nuova sfida
Dopo tanto tempo, ritorno finalmente a scrivere poche nuove righe in questo mio spazio virtuale; questa volta per parlare di un nuovo progetto che ho intrapreso nel corso dell’ultimo mese: dep-graphV.
dep-graphV è un utile strumento di sviluppo che permette di creare grafi di inclusione a partire da sorgenti scritti in C++, semplicemente analizzando ogni direttiva #include trovata all’interno della cartella di root del progetto analizzato.
L’utilità del programma risiede nella possibilità di analizzare visivamente le dipendenze tra i sorgenti, evidenziando cicli e “percorsi inutili”, il che può comportare una notevole riduzione nei tempi di build, specialmente nel caso in cui il progetto analizzato è di grosse dimensioni.
Più volte ho avuto l’esigenza di analizzare i miei progetti scritti in C++ per i motivi sopra accennati, e come molti di voi ben sapranno, specialmente chi ha letto Large-Scale C++ Software Design (ve lo consiglio caldamente), la suddetta esigenza ha spesso avuto una cruciale importanza.
Ho cercato e trovato diversi strumenti che mi permettessero di far fronte a tale esigenza, ma nessuno la soddisfava a pieno, e soprattutto nessuno possedeva quello che per me era un’importante requisito: il multi-platform; ecco quindi i motivi per il quale decisi di cominciare a lavorare su dep-graphV.
Il progetto (il mio primo open-source) è rilasciato sotto licenza MIT e disponibile all’indirizzo [link].
Le principali caratteristiche della versione 0.1 sono:
- Sistema di build basato su CMake, così che sia possibile compilare i sorgenti del progetto su differenti piattaforme ed utilizzando differenti IDE;
- Possibilità di compilare utilizzando le Qt4 o le Qt5, semplicemente cambiando il valore della variabile QT_USE_QT5 in CMake;
- Supporto per il rendering con OpenGL;
- Scansione ricorsiva (opzionale) della cartella del progetto;
- Filtri sull’estensione dei file personalizzabili (sia per i file header che per i sorgenti);
- I grafi possono essere salvati sia come immagini (.png, .jpg ed .svg) sia nel formato dot di GraphViz.
Sono disponibili alcuni screenshot dell’applicativo all’interno della galleria ( clicca [qui] ).
Se siete degli sviluppatori C++, magari vi potrà interessare dare un’occhiata alla pagina del progetto su SourceForge.net [link].
Vi terrò informati circa ulteriori novità sul progetto, nonché sul rilascio della versione 0.2
Lascia un commento
Devi essere connesso per inviare un commento.