Domov arrow Programovanie arrow Code Metrics - Meranie Java kódu v Eclipse
Code Metrics - Meranie Java kódu v Eclipse
Hodnotenie čitateľov: / 1
SlabéVynikajúce 
Meranie koduKeďže sa momentálne po krátkej odmlke znova nachádzam vo svete Java, tento článok bude pojednávať konkrétne s príkladmi uplatnenia meraní zdrojového kódu písanom práve v jazyku Java. Už dávno som mal chuť podeliť sa o môj zápal pre meranie software-u a konkrétne pre meranie práve tej časti software-u, ktorej sa venujem osobne najviac - zdrojový kód.

Keď dostaneme pod nos tisíce tried a rozhraní a našou úlohou je urobiť niekoľko odhadov, koľko dní by trvala práca určitého rozsahu, je ťažké vystreliť nejaké číslo bez toho, aby sme si urobili o kóde nejakú predstavu. Bolo by dobré, keby sme sa mohli pozrieť na nejakú high-level zostavu, v ktorej vidíme aká je komplexita, čitateľnosť, udržovateľnosť, extensibilita, atď (v angličtine "the -ilities of an OO code base") produktu pred našimi očami. Ak sme navyknutí robiť odhady pre projekty s priemernou komplexitou napr. 10, vedeli by sme prispôsobiť svoje odhady pre projekt s priemernou komplexitou 5, či 40. Ako však zmeriame komplexitu - zložitosť - zdrojového kódu?

Pojem zložitosť sa dá vysvetliť rôzne rôznymi ľuďmi. A tak inžinieri vymysleli sadu rôznych metrík, ktoré nám umožňujú nahliadnuť na jednotlivé kvality softvérového produktu cez čísla. Tieto čísla majú byť, v ideálnom prípade, ľahko zrozumiteľné a názvy metrík seba-vysvetľujúce. Spravidla jednoduché metriky sú skôr použité na projektoch, než metriky za ktorými stoja prekomplikované vzorce a užívateľ stráca kontakt s ich významom.

Pokiaľ vyvíjate svoje Java projekty v IDE Eclipse, tak super, lebo o tomto sa chystám rozbásniť. Do Eclipsu môžeme hravo natiahnuť plug-in s nie moc zvučným, hoci ľahko zapamätateľným menom: Eclipse Metrics Plugin. Tento šperk vydala malá anglická spoločnosť StateOfFlow a hoci neposkytuje žiadne dych-vyrážajúce schopnosti, zato som práve tento plug-in vždy preferoval pre jeho nádhernú jednoduchosť. A áno, je to kompletne celé zadarmo a open-source. A nie, nerobím tu reklamu, hoci to miestami tak vyzerá. Len mám veľmi pozitívny postoj k tomuto nástroju a chcel by som sa o svoje nadšenie s vami podeliť.

Eclipse Metrics Plugin

Inštalácia

Inštaluje sa jednoducho: Ideme na vec v Eclispe cez "Help" položku v hlavnom menu (celkom logicky, kde inde by sme to hľadali, než pod položkou Help, nie?), tam nájdeme položku "Install New Software". Tlačidlom "Add" v zobrazenom okne pridáme do Eclipsu novú Update Site, zadáme meno podľa vlastného uváženia, ale niečo priliehavé ako "Metrics" je dobrá vožba, no a nastavíme update site na túto webovú adresu: http://www.stateofflow.com/UpdateSite

Z ponuky možných doplnkov od StateOfFlow zvolíme "Metrics Feature" a pokračujeme hravo s inštaláciou. Po dokončení inštalácie je vhodné Eclipse reštartovať. Nič zjavné sa nestane, na prvý pohľad žiadna zmena. Tento doplnok je celkom neintruzívny, čo je jeho ďalšie plus. Prakticky po tom, čo ho raz trošku nastavíte (ale nastavovať ho nemusíte) a explicitne zapnete zber meraní na tom-či-onom projekte, sa o samotný plugin nemusíte vôbec starať. Teda ako ho nastaviť? Pre úvod je dobré si nastavenia len tak zbežne prezrieť. Meniť ich viac-menej ani neodporúčam, lebo sú prednastavené na rozumný štandard, ktorý by ste mali sa pokúsiť dosahovať vo svojich Java projektoch. Nastavenia nájdete medzi všetkými nastaveniami Eclipse; z hlavného menu zvolíme "Window", a z položiek zvolíme "Preferences". Nastavenia sú zaradené pod kategóriou Metrics, čiže hľadáme v zozname po ľavej ruke pod písmenom M. Respektíve začnite len vpisovať Metrics do filtrovacieho poža a hneď to máte tam.

Konfigurácia

Na jednotlivých záložkách môžete povoliť či zakázať vyhodnocovanie (meranie) jednotlivých aspektov vašich Java tried, taktiež môžete nastaviť rôzne drobnosti podľa vlastnej chuti a, hlavne, limity ktoré sa nesmú prekročiť v sledovanom (meranom) kóde. Tento plugin v podstate funguje na základe Warning Marker-ov. Skontroluje kompilačnú jednotku, teda či už Java triedu alebo interface, premerá ju, a na miestach, kde odhalí prekročené limity, vygeneruje Warning, ktorý sa zobrazí v Problems View. Taktiež sa vám pri pohľade na danú kompilačnú jednotku a na inkriminované miesto zobrazí po ľavej strane - tam, kde sa vám normálne zobrazujú breakpointy - malá ikonka červeného pravítka, ktorá vám prezradí konkrétne ktoré Metrics sú porušené na danom mieste.

V tomto článku vám predstavím základnú sadu metrík pre váš kód. Keďže pre zber meraní používame Eclipse Metrics Plugin, predstavím vám metriky podporované práve týmto pluginom, že si o nich môžete nielen prečítať, ale si ich aj na vlastnej koži vyskúšať.

Posledná úprava ( Thursday, 02 June 2011 )
 
< Predchádzajúca