TDD - timp pierdut în plus?

TDD - timp pierdut în plus? =========================== joi, 21 octombrie 2010 Înainte de a intra în ritmul TDD, sau privind dintr-o parte, s-ar părea că scrierea testelor înainte de a scrie codul propriuzis este mai mult o pierdere de timp. E destul de clar de ce pare aşa: scrii cam de două ori mai mult cod. Dar, asta este pe termen scurt. Dacă vrei să vezi cum lucrează o anumită funcţie, sau să experimentezi cu un framework, sau să încerci un nou limbaj de programare, ceeea ce în termeni de Extreme Programming se numeşte "spike", atunci da, nu are rost să faci TDD-ul decît pentru exerciţiu. Dacă vrei să faci ceva care ar putea dura zile sau săptămîni, atunci TDD-ul se răscumpără, cel puţin. Şi ca timp de lucru, şi ca calitate a rezultatului final. Dacă scrii teste, nu trebuie să verifici la fiecare nouă modificare dacă nu cumva s-a dărîmat altceva pe undeva. Dacă peste două luni trebuie să faci o schimbare în cod, atunci nici nu prea mai ţii minte care şi de ce depinde ca să poţi verifica manual. Şi cu cît e mai mare proiectul cu atît rentabilitatea TDD-ului creşte, pentru că verificare manuală ia din ce în ce mai mult timp, aici el se răscumăra ca timp, şi, de la o vreme încetezi să mai testezi anumite părţi pentru că, deja nu mai e practic să testezi manual o lună de lucru de cod, şi atunci, în speranţa că totuşi, poate nu s-a stricat nimic. Aici apar problemele de calitate. Dezvoltarea şi fixarea de bug-uri sunt două momente foarte clare unde este practic necesară testarea automatizată. Un alt moment este refactorizarea. Cînd pe parcursul dezvoltării ne dăm seama de un mod mai optim de a structura codul şi am vrea să-l reorganizăm pentru a-l simplifica, sau pentru a-l optimiza cumva, e destul de dificil să faci asta fără să ai o acoperire bună de teste automatizate. Şi dacă nu poţi refactoriza, programul ajunge să fie din ce în ce mai greoi, şi de la o vreme apare dorinţa să-l scoţi cumva la un capăt şi să nu mai ai de a face cu el. Refactorizarea este partea de *design* a TDD-ului, de fapt Test Driven *Design*, e o altă descifrare a acestui acronim, şi prin design aici se are în vedere schimbările la nivel înalt pe care le putem face în cod treptat, pe măsură ce înţelegem problema mai bine şi pe măsură ce învăţăm să folosim limbajul mai bine sau schimbări de nivel înalt care apar din alte considerente pe parcursul dezvoltării.
Sursa
2010-10-21 22:22:00



Comenteaza





Ultimele 25 posturi adăugate

18:53:13PATIMILE DUPĂ DOSTOIEVSKI —» Leo Butnaru
05:24:1710 principii de evanghelizare și ucenicie din Ioan 4-11 —» Moldova Creștină
18:59:39Bugetul IP Gimnaziul "Victor Coțofană " pe anul 2023 —» Blogul elevilor din satul Chetrosu
18:54:44Informație cu privire la formarea bugetului pentru anul 2023, în IP Gimnaziul "Victor Coțofană" —» Blogul elevilor din satul Chetrosu
18:48:13Raport referitor la executarea bugetului pentru anul bugetar 2022 —» Blogul elevilor din satul Chetrosu
14:36:50POEME PRIN ANI / ANTOLOGIE DE ETAPĂ #12 (30 de texte) —» Leo Butnaru
13:43:04Citit în ianuarie: „Iannis cel nebun pentru Hristos” (1 și 2) de Dionysios A. Makris —» Sunt MAMĂ!
10:18:34Competențele sociale și individuale pentru un job de succes —» Centrul Comunitar Instruire, Acces Informaţie Călăraşi
10:00:51Să trăim prin credință! —» Moldova Creștină
02:41:36MOLDOVENI! NOI CUM IEȘIM DIN RĂZBOI? —» Daniel Lachi
20:29:42Satan: Our Adversary —» Erik and Elena Brewer's Weblog
18:46:18Zarurile au fost aruncate… —» Liceul Teoretic “Mihail Sadoveanu”, Călăraşi
17:19:4734 de ani. 34 de lecții —» Sunt MAMĂ!
16:04:13Cozi de TIR-uri spre porturile Ismail, Reni, Giurgiulești, Galați —» Curaj.TV | Media alternativă
11:36:00Vacanța de iarnă a lui Dragoș —» Sandu GRECU
10:00:02Este o cinste să te ferești de certuri —» Moldova Creștină
08:11:28Strada Evreiasca e doar la Odesa? —» Curaj.TV | Media alternativă
06:47:02Întâlnire cu Iulian Filip la Biblioteca „Transilvania” —» BiblioCity
17:33:30Moldova – în NATO! Puneți leoparzii pe BECȘI! (1) —» Daniel Lachi
17:24:07”Credința strămoșească”, ia treci la tablă! Sau la Leopard (2) —» Daniel Lachi
16:18:07Fraze lungi – cum să urmărim gândul?  —» Moldova Creștină
13:01:49Nou: Pinot Noir Native, în conversie BIO —» Fine Wine
12:54:49RENTABILITATEA ȘISUSTENABILITATEA AGRICULTURII LA SCARĂ MICĂ —» Mişcarea Ecologistă din Ştefan-Vodă
19:31:23Bare fixe și paralele pentru sport de sănătate într-un oraș asediat —» Curaj.TV | Media alternativă
12:42:14UN IMPORTANT POET FRANCEZ —» Leo Butnaru