Task guidelines

Principii generale

  1. MVC – http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc
  2. Colaborare
    1. Orice micro-decizie de implementare trebuie să acopere, pe lângă cerinţa funcţională, şi necesitatea ca oricare programator din echipă (prezent / viitor) să poată înţelege rapid, să poată utiliza şi actualiza codul rezultat din respectiva decizie.
  3. Respectarea arhitecturii aplicației
    1. Când arhitectura nu permite implementarea unei anumite cerințe, trecem la implementarea cerinței NUMAI după actualizarea arhitecturii.
  4. Claritate
  5. Curăţenie
  6. Documentare

Condiţii ce trebuie îndeplinite de codul sursă înainte de commit / push:

  1. Să îndeplinească standardele aplicabile și explicitate în articole în acest wiki (Specificații cod sursă).
  2. Să fie curat (fără instrucţiuni de depanare, fără zone dezactivate fără să aibă explicaţii pt. ce au fost păstrate dezactivate).
  3. Să fie formatat conform regulilor comune (implementate / importate în PHPSTORM settings). Deci Ctrl+Alt+l trebuie să devină reflex, adică să se facă tot timpul, la orice modificare de fișier, cât de mică. Astfel, la commit codul este deja formatat, nu mai este nevoie să trec din nou prin toate fişierele modificate.
  4. Să poată fi integrat în branch-ul principal. Dacă e w.i.p., să fie ascuns din interfaţă şi să nu afecteze restul aplicaţiei.

Soluția tehnică aleasă și implementarea trebuie să fie independente de mediul de lucru local – să meargă la toți și pe toate serverele / instalările, respectând cerințele de infrastructură (versiune de server, extensii, drepturi de acces pe fișiere etc). Elemente sensibile:

  • “variabile globale” – parametri de aplicație (e.g. calea către diverse fișiere – resurse, storage etc) – configurabili (params, params-local) și parametrizabile. Niciodată hardcoded! Mereu să existe o valoare implicită (e.g. params.php) care să poată fi suprascrisă de o valoare locală (e.g. params-local.php)
  • baza de date locală – dbname, dbuser, dbhost etc.
  • migrări

About

Das Yii Man

Leave a Reply

Your email address will not be published. Required fields are marked *

[TOP]