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

Switch to our mobile site