Metriky a audit kódu v Delphi XE

vložil Radek Červinka 19. listopadu 2010 23:32

Další novinkou v Delphi XE jsou nástroje na audit a výpočet metrik kódu a to částečně i ve verze Profesional (tam je jich ale jen několik).

Nebudu nalhávat že bych byl nějaký expert v této oblasti, ale pro zajímavost jsem to zkusil na programu z nedávného článku o RTTI a řekl bych, že pro mou osobu jsou nastaveny celkem přísná měřítka. Naštěstí lze při spuštění akce zvolit které položky jsou pro Vás zajímavé.

Jak audit kódu (QA Audits), tak výpočet metrik kódu (QA Metrics) je spouštěn z menu Project.

Audit kódu

Audit kódu slouží k odhalení potencionálně nebezpečných konstrukcí. Spuštění auditu kódu začíná výběrem oblasti kódu a oblasti zájmu. U většiny položek lze ještě provést detailnější nastavení.

Audit v Delphi XE

A výsledkem je něco podobného jako následující seznam, kdy po kliknutí na inkriminovanou položku se zdrojový kód zobrazí v editačním okně, případně lze zobrazit vysvětlení co ten údaj přesně znamená a většinou i jak se ho zbavit.

Audit v Delphi XE

Např. mu vadí v deklaraci více proměnných jednoho typu na jednom řádku (MSOL), nebo příkaz bez begin a end (PSIB). No určitě bych některé položky vypnul, na druhou stranu ale chápu, že pro některé firmy takový audit kódu je k nezaplacení. Mimochodem proměnná tv1 je normální komponenta TTreeView umístěná na formulář - no mohl to nějak detekovat.

Metriky kódu

Podobným nástrojem jsou metriky kódu, které proti auditu slouží spíše k porovnání jak kvalitní kód je, tj. jak používáte dědění, jak dlouhé metody, kolik řádku kódu na jednotku atd.

Opět se začíná výběrem oblasti zájmu a kódu, přičemž se většinou dá vybrat agregační funkce (viz. combobox na obrázku).

Metriky kódu v Delphi XE

Výsledkem je buďto strom metrik nebo Kiviat diagram, kdy pro každou položku se dá zobrazit podobná nápověda. Ve vyšších verzích než profesional je těch metrik podle dokumentace 80, v Profesional podle dokumentace asi 10.

Metriky kódu v Delphi XE

Kiviat diagram v Delphi XE


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy: ,

Novinky v Delphi

Komentáře

20.11.2010 0:48:54 #

pingback

Pingback from topsy.com

Twitter Trackbacks for
        
        Delphi.cz | Metriky a audit kĂłdu v Delphi XE
        [delphi.cz]
        on Topsy.com

topsy.com

25.11.2010 12:35:52 #

JaroB

To je zajímavé, zkusil jsem to na projekt v Delphi XE přeložitelný a funkční, ale žádné výsledky jsem nedostal (skončilo to po 0% zpracování, neukázalo to nic). Asi musí být nějaké výchozí nastavení pro projekt...

JaroB

25.11.2010 12:47:33 #

radekc

Ono to chvilku trvá, ale zkuste to nejdříve na nějakém menším projektu zda to máte správně nastaveno.

radekc

25.11.2010 13:43:39 #

JaroB

No, udělá to pouze aktuálně otevřenou unitu (\code/) a taky, pokud to nic nenajde, tak je to samozřejmě prázndé (což je moje :( chyba ). Ale celý projekt s mnoha unitami mi to neudělá, výsledky jsou prázdné. Ale mám verzi prof - a to asi bude ten problém.

JaroB

25.11.2010 13:50:02 #

radekc

Nahoře v dialogu je combo Scope, tedy alespoň ve vyšších verzích. Viz. obrázek v článku.

radekc

25.11.2010 13:55:20 #

JaroB

Ano to je, buď název projektu, případně aktuální jednotka z editoru. Nic víc.

JaroB

Komentování ukončeno

Naše nabídka

Partial English version.

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Anketa

Poslední komentáře

Comment RSS