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

13:25:00Cariera care te conectează cu lumea: Interviu cu Mihai Sava, Președintele AMALT, despre oportunitățile profesiei de Dispatcher 👍 —» Sandu GRECU
12:37:00Cu sprijinul Uniunii Europene, Serviciul social „Locuința Protejată” din Glodeni devine un model de eficiență energetică și incluziune socială 👍 —» Sandu GRECU
09:47:03James Suckling evaluează, în premieră, vinurile Purcari —» Fine Wine
05:25:21DIN ȘAHUL VIEȚII —» Leo Butnaru
09:26:33Între simbol și ironie – Violeta Zabulica-Diordiev —» Biblioteca de Arte 'Tudor Arghezi'
08:58:24Cătălin Păduraru: „Acum este pasul obligatoriu de ieșire la atac” —» Fine Wine
05:24:54DE LA PORȚILE ROMEI, DIN ROMA —» Leo Butnaru
05:53:47DIN POEZIA LUMII / FRANCEZĂ —» Leo Butnaru
15:46:39Moldovenii vor un stil de viață sănătos. Transportul alternativ poate fi soluția. —» Curaj.TV | Media alternativă
07:51:24DIN REVISTA TINERILOR —» Leo Butnaru
10:35:36DIN FĂCLIA —» Leo Butnaru
08:15:00Gloria K-1, viitor frumos și bani mulți. Bolea: aducem Europa la Chișinău. 100 de mii de dolari în avion 💲💥🥊 —» Sandu GRECU
07:43:00Pictorița Eleonora Romanescu —» Biblioteca de Arte 'Tudor Arghezi'
14:15:58DIN REVISTA TINERILOR —» Leo Butnaru
11:35:22Gala premiilor ”Ex Libris” – la bibliotecă —» BPR Ungheni's Blog
10:41:00Istoria unui proiect de hotărâre de Guvern prost intenționat 💧 —» Sandu GRECU
18:12:00din cosmograme —» Leo Butnaru
05:56:00DIN POEZIA LUMII —» Leo Butnaru
11:11:00DE BLAJINI —» Leo Butnaru
18:56:00DECENȚĂ ȘI TICĂLOȘIE —» Leo Butnaru
16:43:00GOGOMĂNIA —» Leo Butnaru
17:01:00Teslev, moldoveanul campion european la fotbal. Istorii cu dinozauri. Povești din Imperiu 💥😲🔝 —» Sandu GRECU
09:27:29O dublă lansare de carte la BM „B.P. Hasdeu” —» Biblioteca de Arte 'Tudor Arghezi'
05:16:00DIN POEZIA LUMII —» Leo Butnaru
09:58:00MS Projects se extinde în Republica Moldova: expertiză regională pentru proiecte logistice complexe 🌠 —» Sandu GRECU