Ieri am tinut o serie de discutii pentru actualizarea standardelor de implementare a produselor noastre. Desi stabilirea unor standarde minimale a fost unul din primele lucruri pe care le-am facut cand am inceput dezvoltarea programelor, in timp au aparut cazuri ce nu fusesera prevazute, precum si dorinta de a modifica unele conventii ce s-au dovedit a fi mai putin inspirate.
De ce standarde?
Software de calitate nu poate exista fara cod de calitate. Mai ales cand e vorba de produse de dimensiunea si complexitatea Advanced Installer unde functionalitate noua este adaugata in fiecare zi si iar specificatiile se modifica si adapteaza continuu la cerintele platformei si dezvoltatorilor. Intr-o echipa mare, unde orice programator poate atinge orice cod, fara disciplina si atentie la detalii sursele ar deveni extrem de rapid o gramada de spaghetti imposibil de modificat si intretinut.
Nu a fost deloc usor ca intr-o echipa de programatori cu vechime sa cadem de acord asupra unor aspecte atit de personale si profund inradacinate ale scrisului de cod de zi cu zi, dar am negociat si am gasit compromisuri. In final, toti vrem sa scriem software mai robust, cu surse usor de citit, extins si intretinut.
Care standarde?
N-avem timp de reinventat roata, asa ca pentru C++ am pornit de la un Coding Standard deja existent si bine acceptat. Am discutat fiecare punct, am comparat cu regulile deja folosite si am creat un document in care am notat ce vrem sa facem diferit. Acum avem o referinta, model si loc central unde putem rezolva disputele.
Ce mai putem imbunatati?
In discutiile pe marginea Coding Standards s-au amintit alte directii unde am putea sa continuam sa ne perfectionam ca programatori:
- Documentarea codului
- Code Reviews
- Code and Design Patterns
Deja le aplicam, dar e loc de mai bine. In plus, avem o lista intreaga de carti de citit cu tehnici si metode de evaluat, invatat si incorporat in codul propriu.