Clover -- kvalita kódu

Z FI WIKI
Přejít na: navigace, hledání

Clover

[Clover] je balík sloužící k analyzování a testování kvality kódu. Dokáže nalézt kód, který nebyl otestovaný pomocí JUnit testů, výsledky mohou být publikovány jako XML, HTML nebo PDF, lze je také prohlížet pomocí GUI (SWING). Další možností využití je integrace do IntelliJ IDEA, Eclipse, JBuilder Enterprise, JDeveloper a NetBeans.


Cena:

Clover je komerční projekt, je dostupný ve třech edicích: Workstation Edition, Server Edition, Team Edition. Specifické vlastnosti lze nalézt na stránce [Clover Licensing]. Cena je od $250 za jednu licenci pro Workstation Edition až po $2500 za Team Edition.

Lze ovšem stáhnout třicetidení Evaluation License z http://www.cenqua.com/licenses.jspa, je nutné si vytvořit účet.


IDE:

Otestoval jsem plugin pro Eclipse a Netbeans. Ostatní jsem netestoval z důvodu nedostupnusti IDE.

Netbeans:

  • ve verzi 4.0 lze plugin přidat, je ovšem nefunkční
  • plugin funkční jen ve verzi 3.5
  • licence se musí zkopírovat do adresáře, kde je umístěn clover.jar

Eclipse:

  • funkční i v nové verzi 3.0.2
  • plugin je nutné umístit do $ECLIPSE_HOME/plugins, licenci také do $ECLIPSE_HOME/plugins
  • nefunkční, pokud se umístí do $HOME/.eclipse/plugins
  • IDE s největší podporou ze strany Cloveru

Více informací na http://www.cenqua.com/clover/doc/


Příkazová řádka:

  • Nejprve je nutné přidat do zdrojových kódů instrukce pro Clover, např. pomocí příkazu
java com.cenqua.clover.CloverInstr -i clover.db -s src -d build/instr 

Najde všechny javové zdrojáky v adresáři src, přidá instrukce, zkopíruje změněné soubory do adresáře build/instr a zinicializuje databázi clover.db

  • Dalším krokem je kompilace souborů v adresáři build/instr
  • Spuštění testů
  • Zobrazení reportů pomocí XmlReporter, HtmlReporter, ConsoleReporter nebo SwingViewer
java com.cenqua.clover.reporters.html.HtmlReporter -i clover.db -o clover_html
java com.cenqua.clover.reporters.jfc.Viewer -i clover.db
java com.cenqua.clover.reporters.pdf.PDFReporter -i clover.db -o coverage.pdf

Ant:

  • Nutná verze Antu 1.4.1 nebo vyšší
  • Archiv clover.jar a licenci zkopírovat do $ANT_HOME/lib, případně ${user.home}/.ant/lib nebo mít cestu k němu uloženou v proměné CLASSPATH

Více informací na http://www.cenqua.com/clover/doc/ant/quickstart.html


Jelikož celý projekt přechází na systém Maven, který již sám nabízí měření kvality kódu pomocí balíku [JDepend ], není nutné se projektem Clover dále zabývat. Dalším podobným projektem je [PMD], který je ovšem zadarmo a má velmi dobrou podporu pro Maven.