Projekt

Obecné

Profil

Konvence » Historie » Revize 3

Revize 2 (Milan Janoch, 2025-02-22 22:58) → Revize 3/15 (Milan Janoch, 2025-02-22 23:24)

h1. Konvence projektu + týmu 

 ---- 

 h2. Pravidla týmu 

 * Pro komunikaci používáme platformu Discord 
 * Weekly *standup*    *schůzky*    se konají pravidelně ve *čtvrtek* 
 * Každý zodpovědně vyplňuje strávený čas na storkách - ten, kdo je *poslední* , *storku uzavírá* 
 * *Iterace*    budou dlouhé *2 týdny* a *začínat/končit* budou vždy v *pondělí* 
 * Po *uzavření*    iterace (nestanoví-li se jinak) *obepisuje*    mentora/zadavatele *vedoucí*    týmu 

 h2. Angličtina vs čeština 

 * V *angličtině* 
 # Zdrojový kód 
 # Commit message 
 # Popisky merge requestů 
 # Případné připomínky na Code Review 

 * V *češtině* 
 # Storky v Redmine 
 # Artefakty 
 # Dokumentace 
 # Komunikace v týmu a s mentory/zadavetelem 

 h2. GitLab 


 * *Branche* 
 # Projekt obsahuje dvě hlavní branche - <code class="cmd">dev</code>    a <code class="cmd">main</code> 
 # Další větve <code class="cmd">feature/<num></code> jsou určeny pro přidávání nových featur do repozitáře 
 # Větve <code class="cmd">bug/<num></code> slouží k fixování bugů 

 * *Merge requesty + commity*  
 # Žádný *kód*    *nesmí*    jít *přímo do main/dev* *větve*    - pro každý commit využíváme merge requesty do <code class="cmd">dev</code>    větve 
 # *Code Review*    - každý *merge request* musí být *approvnut jiným členem* z týmu 
 # Při vytváření merge requestu zvolte *alespoň jednoho* *uživatele* , který vám *udělá CR* 
 # Každý merge request by měl obsahovat stručný popis toho, co se do kódu přidalo 
 # Každý merge request/commit by měl *obsahovat*    na začátku *číslo tasku* (pokud není task definován, tak použít např. označení #NoUS - No User Story) 
 # Do *mainu*    se *merguje*    až *po konci iterace* , kdy se demo ukazuje zákazníkovi 
 # Každý *merge request* bude řešit *pouze jednu storku* - nekombinujme víc věcí dohromady! 

 * *Formát*    commit message: <code class="cmd">[#číslo_tasku] Message_co_se_udelalo</code> 
 * *Příklady:* 
 # <code class="cmd">[#465465] Created form for selecting data source</code> 
 # <code class="cmd">[#1679684] Fixed issue where data source could be null </code> 

 * *Jak operovat s větvemi?* 
 * *Stáhnutí*    nejnovějších *změn* :  
 # <code class="cmd">git checkout dev</code> 
 # <code class="cmd">git pull</code> 

 * *Vytvoření merge requestu* (jsme ve vetvi <code class="cmd">nazev_vetve</code>) 
 # <code class="cmd">git add .</code> 
 # <code class="cmd">git commit -m "[#15134] Created new DB schema"</code> 
 # <code class="cmd">git push origin nazev_vetve</code> 
 # Přejděte do GitLabu, kde se objeví návrh na nový merge request -> zvolte merge request z vaší větve do větve <code class="cmd">dev</code> 

 * Merge *z devu do mainu* 
 # Bude se dělat ručně přes GitLab 

 * *Jak řešit konflikty?* 
 # Stáhněte si *nejnovější verzi devu* - <code class="cmd">git checkout dev</code> a <code class="cmd">git pull</code> 
 # *Přejděte do vaší větve* , na kterou chcete rebasovat - <code class="cmd">git checkout vase_vetev</code> 
 # *Začněte rebasovat*    - <code class="cmd">git rebase dev</code> 
 # Postupně *řešte konflikty* a ukládejte vyřešené konflikty pomocí <code class="cmd">git add .</code> a <code class="cmd">git commit -m "[#15134] xxx - rebase"</code> 
 # Pokračujte pomocí <code class="cmd">git rebase --continue</code>, *dokud nevyřešíte všechny konflikty* 


 * *Konvence souborů* 
 # Pro názvy souborů používáme "CamelCase":https://cs.wikipedia.org/wiki/CamelCase 

 * *Konvence v kódu* 
 # Pro názvy atributů a metod používáme "CamelCase":https://cs.wikipedia.org/wiki/CamelCase 


 h2. Redmine 

 h3. *Druhy úkolů* 

 * *Bug* 
 # Neočekávané chování 
 # Neúmyslná chyba 

 * *Enhancement* 
 # Rozšíření stávajících funkcionalit 
 # Optimalizace kódu 

 * *Feature* 
 # Přidání nové featury 

 * *Task* 
 # Administrativa 
 # Dokumentace 
 # Artefakty 
 # Analýzy 

 h3. *Druhy aktivit* 

 * *Analysis*    - studium, analýza problémů, návrh architektury 
 * *Design*    - návrh GUI 
 * *Implementation*    - implementace featur, fixování bugů 	
 * *Verification*    - verifikování požadavků 	
 * *Documentation*    - psaní dokumentací - uživatelské, programátorské, psaní dokumentačních komentářů 
 * *Administrative*    - vytváření storek, schůzky 

 h3. *Druhy priorit* 

 * *Low* - nejméně prioritní úkol - drobnosti 
 * *Medium* - normální úkol - psaní dokumentů, nice-to-have featury 
 * *High* - prioritní úkol - schůzky, důležité featury 
 * *Low* - nejvíce prioritní úkol - hotfixy, bugy vedoucí k pádu aplikace 

 h3. *Stav úkolů* 

 * *New* - nově vytořený úkol, který ještě nebyl nikomu přiřazen 
 * *Assigned* - přiřazený úkol konkrétnímu členovi/členům 
 todo