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