Pokrytí zdrojového kódu PHP

Školení, která pořádám

O testování a pokrytí kódu napsaného v PHP už jsem psal. Na srazu Rubistů padl dotaz, jak je to s testy a pokrytím samotného zdrojového kódu PHP. Kdysi jsem na to narazil, tak jsem odhadnul, že je testy pokryta asi polovina zdrojového kódu PHP. Ve skutečnosti je pokrytí připravované verze 5.3 celkem 70 %. Není to moc, ale vzhledem k okolnostem se mi to nezdá ani málo. PHP vzniklo bez testů a dodělávat je dodatečně dá samozřejmě víc práce. Testy jsou vytvořené i pro některé bugy, hlavní problém ale vidím v tom, že při změně funkčnosti se jednoduše změní i test a jede se dál.

Testy (ukázka pro SQLite) používají stejný formát jako testy pro kód napsaný v PHP, pokrytí řeší nástroj Gcov.

Jakub Vrána, Ze zákulisí, 19.11.2008, diskuse: 10 (nové: 0)

Diskuse

Cyril:

Koho zajímají tyto minoritní problémy pseudo programovacího jazyka, který ani není objektový? Profesionál používá něco pokrocilejsiho, než nemoderní a zastaralé php.

Juraj:

Vieš, pre obyčajných človiečikov, ako som aj ja, je PHP dobrou voľbou (z rodiny skriptovacích jazykov). Je tam rýchla krivka učenia sa a na jednoduché webové prezentácie v pohode stačí. A taktiež drvivá väčšina webhostingov PHP podporuje. S Ruby, Perlom alebo Phytonom a pod. je to už horšie.

Takže aj takéto minoritné problémy pseudo programovacieho jazyka niekoho zaujímajú.

Jiří Knesl:

Že Vám vůbec stojí za to odpovídat nějakému trollovi. :)

3CK:

PHP není objektové? ani mi nepřipadá...

LLook:

Tak například mě to zajímá, přestože PHP už nepoužívám. Ne že bych se bez této informace neobešel, ale zajímavé mi to přijde, jinak bych to nečetl.

K tomu ostatnímu: "Pseudo" není samostatné slovo. Pokud jsi myslel "pseudoprogramování", pak bych musel oponovat, protože PHP definici programovacího jazyka splňuje. Třebaže má kupu nedostatků.

A možná pro tebe bude novinkou, že většina profesionálů v oboru tvorby webových aplikací používá právě PHP.

Lamicz:

Profesionál určitě ví, že PHP je skriptovací jazyk ;)

Ciba (xciba@seznam.cz):

Takovéhle lidi miluju - obejktovost != kvalitní programovací jazyk! I v hloupém jazyce (tím nemyslím PHP) může kvalitní programátor napsat cokoli. A když už o tom mluvíš, uvědom si, že např. ani Java není čistě objektový jazyk. Takže jestli nepíšeš ve SmallTalku (pak tě lituji) tak sem nesyp takovéhle názory.

ikona david@grudl.com:

Docela slušný nárůst pokrytí oproti PHP 5.2. Je vidět, že se na tom pracuje.

toby:

Snad už díky lepšímu testování nedojde k takovejm bugům, jako byl ten v 5.1.3.

Ondrej Ivanic:

IBM robi dost velku pracu - zamestnava asi 6 ludi co robia len testy. Nerobia to vsak len tak pre zabavu :). IBM sa pustilo do vytvorenia PHP ktore je napisane komplet v Jave a potrebuje mat istotu, ze ich implementacia je kompatibilna.

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2018 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.