O Test Drive Development jsem dlouho četl a téměř stejně tak dlouho jsem ho i odsuzoval jako metodu, která je trochu postavená na hlavu a člověku jen přidává práci. Nakonec jsem se rozhodl prolomit ledy a TTD používám zhruba týden u jednoho nového projektu a právě ta atypičnost mě chrání před spoustou nástrah do kterých často padáme.
Vsuvka pro lidi kterým zkratka TTD nic neříká. Jedná se o jednu z metodik extrémního programování, která spočívá v tom, že programátor nejdříve napíše jednotkový test. Ten spustí, čímž se přesvědčí, že test nefunguje. V dalším kroku dopíše funkcionalitu i do samotného programu, tak aby splnil test a pak už se jen kód různě refaktorizuje a jede se pořád dokola. Více informací naleznete na Wikipedii.
Na první pohled se Vám tenhle přístup bude zdát asi jako mrhání drahoceným časem, ale jak jsem sám zjistil opak je pravdou a už během takové krátké doby, jako je ten jeden týden, pozoruju spoustu pozitivních důsledků. Jde především o následující:
Problémem zůstává jak tuhle metodiku napsaovat na projekt, který nebyl takhle i navrhován. Starám se o jeden hrůzný software, který porušuje snad všechny nepsané programátorské zásady (další navíc zavádí) a rád bych takhle pracoval. Jak ji však zavést do té spouště jsem zatím nevymyslel, jestli na něco přijdu tak dám vědět.
Poznámka pro Delphisty. I v Delphi máme framework na testování jménem DUnit, který jsem si celkem oblíbil. Druhá důležitá součást nám však ve starších verzích chybí. Touto součástí myslím nějaký druh automatického refactoringu, který je pro úspěšné používání TDD nepostradatelný.
2 Reakcí
Kent Beck: Programování řízené testy: Dejvův blog
30|Aug|2008 1[...] cesta k TDD byla vcelku dlouhá a už jsem o ní dříve psal. Jedním ze zlomových okamžiků, proč jsem se rozhodl pro tuto metodiku byla i tato kniha. Ne [...]
Test Driven Development pro starší projekty: Dejvův blog
24|Jan|2011 2[...] Email odkazuje na následující článek: http://dejv.eu/15-vyhody-tdd/ [...]
Zanech vzkaz