Java: 5 utili programmi per revisionare il codice

Programmazione Java e ottimizzazione: scopriamo insieme cinque tool imperdibili per migliorare il codice dei nostri progetti e la nostra produttività

C’è un metodo che ci permette di migliorare la stesura del codice Java dei nostri progetti, incrementando di conseguenza la nostra produttività e la resa del codice stesso.

Questo metodo consiste nell’utilizzare una serie di strumenti che gli esperti conoscono molto bene e che ci permettono di revisionare il codice in maniera sistematica, evitandoci così errori che a volte, per fretta, abitudine o semplicemente per incuria e distrazione commettiamo nostro malgrado.Java: 5 utili programmi per revisionare il codice

Non sempre gli esperti programmatori sono propensi nel condividere con gli altri il proprio arsenale tool ed è per questo che abbiamo deciso di svelarvi nel prosieguo ben cinque programmi che in realtà non possono proprio mancare nel corredo di strumenti utili a revisionare il nostro codice Java.

1.      FindBugs per Java

Il primo tool imperdibile è FindBugs, un programma open source distribuito con licenza GPL e capace di operare direttamente sul bytecode Java piuttosto che sul codice sorgente. Il programma usa un sistema di analisi statistico che ci aiuta a prevenire centinaia di differenti tipologie di errori, inclusi i cicli ricorsivi infiniti, il cattivo utilizzo o il mancato richiamo alle librerie Java e via discorrendo.

Il software è capace di analizzare righe e righe di codice, individuando gli errori e classificandoli sulla base della loro severità.

FindBugs è distribuito come applicativo stand-alone dotato di una propria interfaccia grafica oppure come plug-in per gli ambienti IDE più diffusi, come Eclipse, NetBeans e IntelliJ IDEA.

2.      Apache Ant anche per Java

Apache Ant è un progetto open source Apache che utilizza il formato XML per automatizzare tutta una serie di processi legati alla programmazione dei progetti Java. Si utilizza come libreria o da linea di comando e contiene tutta una serie di routine che aiutano gli sviluppatori ad automatizzare la compilazione e il test delle propri applicazioni.

Vi sono differenti soluzioni commerciali e open source già pronte all’uso e basate su Ant, anche per linguaggi diversi da Java, come C e C++ e come per FindBugs, anche Ant è disponibile per gli IDE più noti, come i già citati Eclipse, NetBeans e IntelliJ IDEA.

3.      JProfiler, per la profilazione hardware del codice Java

JProfiler è una soluzione commerciale sviluppata da ej-technologies Gmbh e pensata per lavorare con Java EE e Java SE.

In pratica, lo strumento consente di profilare l’uso combinato di CPU, memoria e Thread da parte dell’applicazione Java che stiamo sviluppando, mostrandoci le performance della stessa e individuando eventuali colli di bottiglia, i problemi di sovraccarico della CPU e tanto altro.

La profilazione hardware può avvenire sulla macchina su cui JProfiler è installato oppure su un computer remoto, anche se JProfiler non è installato.

JProfiler lavora con tutti gli IDE già citati, a cui si aggiungono Oracle JDeveloper e le applicazioni Adobe Coldfusione e Glassfish.

4.      Bash, utile anche per Java…

La UNIX shell Bash può essere un’ottima alleata nella programmazione Java. L’interprete di comandi è nato nel 1989 ed è stato distribuito come sostituto della Bourne shell in molti sistemi operativi GNU, per diventare poi la shell predefinita per Linux e Mac OS X. La sua popolarità si deve a differenti progetti di import su Windows e Android, attraverso applicazioni capaci di emulare il terminale di input dei comandi.

In pratica, Bash può essere usato come un command processor ed è capace di leggere e interpretare comandi contenuti in differenti file: a tal proposito può essere usato per la programmazione Java, per automatizzare tramite script alcuni compiti operativi, come la sostituzione di comandi o variabili e il controllo delle strutture di programmazione.

5.      SonarQube supporta 25 linguaggi, oltre Java

SonarQube è una piattaforma open source nata nel 2007 con il nome di Sonar e divenuta famosa di recente per la sua estrema qualità. Supporta oltre 25 linguaggi di programmazione, fra cui Java, C/C++, C#, PHP, Flex, Groovy, JavaScript, Python, PL/SQL, e COBOL ed è anche entrata a far parte dello sviluppo di Android.

Disponibile e ben integrata negli IDE standard come Eclipse, NetBeans, IntelliJ IDEA ed espandibile nelle funzionalità tramite plugin, SonarQube è capace di informare lo sviluppatore sulla complessità del codice Java, sul codice duplicato, sui potenziali bug e su tanto e tanto altro ancora.