codul de inspecție
Codul de control - acest lucru este bun. Noi folosim această tehnică în proiectele lor nu este atât de mult timp în urmă - aproximativ trei luni - dar rezultatele pozitive sunt evidente. Am vorbit deja Habré privind punerea în aplicare a inspecțiilor în procesul de dezvoltare. Pentru fluxul de lucru în timpul inspecțiilor. Am discutat despre modul în care puteți optimiza procesul de inspecție cu un instrument de cod Colaboratorul. Astăzi vrem să rezume și să prezinte rezultatele, pe care am realizat în timpul inspecției. Să mergem.
De fapt, o mulțime de avantaje, așa că vom menționa doar câteva majore în acest subiect.
Acesta a stabilit un stil de codificare comun. Desigur, chiar și înainte de punerea în aplicare a inspecției nu a fost o idee echipei noastre despre ceea ce este bine și ce este rău, în cazul în care toți au încercat să urmeze. Cu toate acestea, datorită stilului general al inspecției a fost în cele din urmă perfecționat și de fapt „ține în cap“ pentru fiecare dezvoltator.
Park biciclete reumple mai lent. Mai puțin de multe ori există situații „Am venit cu o soluție strălucitoare“, și din ce în ce folosim soluții dovedite de biblioteci terțe părți. A existat un efect interesant al „cunoașterii colective“, atunci când un membru al echipei este conștient de ceva bibliotecă separată care alții nu știu, și oferă utilizarea optimă a celor mai bune calități.
Îmbunătățirea dreptul de proprietate de ansamblu cod. Există un dialog mai direct cu privire la diferitele aspecte ale proiectului: de ce este făcut în acest fel și nu în altul? Poate aș fi făcut așa? Ca urmare, o înțelegere a modului în care diferite părți ale lucrării de sistem, a fost distribuit în mod egal între dezvoltatori, mai degrabă decât concentrarea pe cineva unul.
Pentru a intensifica schimbul de experiență și cunoștințe. Acum folosim adesea în dezvoltarea unor metode de succes și colegii practici puse în aplicare în alte părți ale sistemului. O astfel de experiență, în opinia noastră, pot fi transmise numai prin citirea codului altor oameni: un alt mod, pur și simplu nu există. Fie metoda va trebui să „supraviețuiască“ cel mai mult, doar atunci se poate face stăpânul „său“. Pentru o astfel de „scufundare“ nu este nimic mai bun decât un bun exemplu de cod altcuiva din domeniu familiar: este mult mai eficientă decât o formă geometrică abstractă, cum ar fi exemple, cerc, și cutie.
Baza de cod a devenit mai „însoțit“. Iată o listă de îmbunătățiri:
- Constantele magice sunt inspectori blocate;
- a scăzut duplicarea codului (DRY);
- algoritmi sunt mai simple (KISS);
- documentare clasă și metode publice îmbunătățite în mod semnificativ (aproape în fiecare clasă publică și metoda de inspectorii trebuie să adăugați documentație);
Singurul dezavantaj la introducerea unui cod de control - creșterea timpului de dezvoltare. La etapa inițială a timpului de implementare a crescut cu 50-100% (uneori mai mult, uneori), dar în cele din urmă într-un depozit comun mult mai puține cod de slabă calitate, mai puțin „zgură“.
In acest moment, după depanare inițială a tuturor proceselor, cheltuieli suplimentare de timp a scăzut la aproximativ 20-50%. Valul principal asociat cu echipa lepuit la un stil comun de codificare; o mulțime de timp a fost petrecut pe adoptarea unor practici și tehnici comune. Pentru echipe cu experiență, în opinia noastră, creșterea normală a timpului mediu de dezvoltare - 10%.
Acest termen este comun în literatura engleză și este, de fapt, inspectorul memo - o listă de verificare pentru a facilita procesul de inspecție.
Lista de verificare pentru a crea o mai bună pentru fiecare proiect și pentru fiecare echipă, deoarece poate varia foarte mult în funcție de platforma, biblioteci, soluții arhitecturale. În același timp, cu o listă evoluează și începe să îndeplinească mai bine obiectivele actuale ale proiectului.
Rezumând experiența acumulată prin inspecție, am început să înțeleagă cum să facă o listă de verificare. Aici este lista noastră în acest moment.
Lista de verificare - memo inspector Technoligies pozitive
1. corectitudinea punerii în aplicare a zonei subiect.
- Funcționalitatea este pus în aplicare în întregime.
- Conformitatea cu specificațiile.
- Fidelitatea predeterminate constante.
- Validitatea ipotezelor și a convențiilor.
- secvență de prelucrare Adevărat.
3. Existența și caracterul complet al acoperirii de testare.
- Toate clasele publice și metodele sunt testate.
- Testat condițiile limită.
- test de suficiență „performanță ramuri pozitive.
- test de suficiență „ramură negativă“ performanță.
4. Este necesar să se adauge la lui pusculita bună practică de la codul altor persoane.
5. Codul multithreaded Corectitudinea.
- Accesul la datele partajate sunt sincronizate.
- Nu există impasuri.
- Pentru RAII idiom de sincronizare.
- manevreze corect revenirea resurselor la tratare a erorilor.
- Nici o scurgere de resurse.
6. Codul se ocupă în mod corect erori.
7. Efecte Nu aparente secundare adverse în alte părți ale sistemului.
8. Corectitudinea constructe lingvistice.
- Aplicați idiomul corectă a limbii folosite și a cadrului.
- Utilizarea bibliotecilor corecte.
- Absența recent inventat „Bicicleta“.
- Non-duplicarea codului.
9. Toate variabilele sunt inițializate cu valorile corecte.
Poate că lista noastră de verificare va ajuta pentru a face potrivit pentru proiectul dumneavoastră.
Trebuie remarcat, de asemenea, un alt punct foarte important. Pentru proiectele care nu au teste unitare, de control - este, în general, singura metodă eficientă de prevenire a defectelor în cod. Cel puțin nimic altceva vine în minte. Prin urmare, în cazul în care proiectul dumneavoastră nu are teste unitare, ar trebui să pună în aplicare mai întâi de inspecție și numai apoi - practica de a scrie teste unitare.
Deci, de ce inspecții sunt atât de eficiente? De multe ori, design-ul sau codul de la dezvoltator la un moment dat „ochi zamylivaetsya,“ mintea este ferm legat de o anumită decizie de design sau a unei anumite părți de cod. Inspecția este o modalitate ușoară de a face referire la inteligența colectivă, care are o mai mare flexibilitate și libertate - „două capete sunt mai bune“, pe principiul
Vă mulțumesc pentru atenție! Va dorim o inspecție plăcută :)