Zaručených 9 kroků k lepšímu commitu

Zaručených 9 kroků k lepšímu commitu

Commit je obrazem vás samotných a neměli byste jej podcenit. Nabídněte kolegům luxus v podobě ušetřeného času.

Z jakého důvodu mnoho vývojářů nevytváří dobré commity a správně je nepopisují? Buď jsou přesvědčeni, že to není potřeba nebo naopak to neumějí. Výsledkem je ztráta času a hlavně peněz. Dobrý commit se stane časem cenným zdrojem informací nejen pro nováčky, ale i zkušené vývojáře, kteří mohli zapomenout, proč danou věc dříve dělali.   

 

1. Dobrý commit řeší vždy jeden ucelený problém
Dvě změny v jednom commitu nadělají více škod než užitku. Je možné, že v budoucnu budete chtít jednu změnu vrátit a druhou zachovat. Tento commit ale obsahuje obě změny. Je nutné manuálně oddělit jednu změnu od druhé. Jednu zachovat a druhou vrátit. Nebylo by rychlejší, kdybys ji rozdělil při vytváření?

2. Dobrý commit má skvěle padnoucí popisek, který rozkazuje!
Popisek vždy začíná rozkazem. Fix, add, change, update, remove místo fixes, fixed a podobně. Popiskem musíš být schopný dokončit tuto větu - If applied, this commit will …
První řádek má maximálně 50 znaků, začíná velkým písmenem a nekončí tečkou - je to nadpis commitu. Nebuďte liní commit rozdělit!

 

3. Dobrý commit musí MÍT DRUHÝ ŘÁDEK PRÁZDNÝ!

 

4. Dobrý commit odpoví na otázku PROČ?
Každý kolega musí vědět bez přečtení přilepeného issue, proč tento commit vznikl. Za pár týdnů může commit stále existovat, ale mezítím se vymění issue tracker. Tento detailnější popis má mít maximálně 72 znaků na řádek.

5. Dobrý commit zmiňuje vedlejší efekty
Samozřejmě je možné vynechat, pokud žádné nemá. Například, že commit zhorší výkon aplikace nebo se jedná pouze o dočasné řešené.

6. Dobrý commit může odkazovat na související položky
Zprávu ukončí odkazy na související položky. Kompletní adresa je užitečnější než jen číslo issue.

Closes: #3345 - [url]
Partial: #3345 - [url]
Related: #3345 - [url], #4423 - [url]

7. Dobrý commit není záloha vaší práce
Verzovací systém není backup systém ani emailový klient. Commit musí být logický celek a vždy řešit jeden problém. Neposílejte si kusy kódu s kolegy přes commity. Rozdělte si práci na nesouvisející problémy a každý řešte svůj.

8. Dobrý commit není mix bílého a logického
Nemixujte bílé změny společně s logikou. Je lepší nejdříve opravit formátování a vytvořit commit. Poté udělat logické změny a vytvořit další commit.


9. Nevymlouvejte se
„Ale vždyť to funguje“. Ano funguje, ale později přijde nový programátor a kód použije jiným způsobem. Následuje problém a dobře vytvořený commit pomůže. 

Ale já na tom pracuji sám.“ Nikdy nepracuješ sám. Za pár týdnů už jsi jiný člověk. Nepamatuješ si, proč jsi se tenkrát vydal tímto směrem. 

Nemám na to čas.“ Dobře vytvořený commit později ušetří dvojnásobek Tobě i Tvým kolegům.


Pokud máte zájem dozvědět se více informací a zajímavostí nejen o dobrém commitu, celý článek naleznete na blogu Jiřího Otáhala

Okomentujte článek



Adresa Brno

Otevři velkou mapu

Adresa Praha

Otevři velkou mapu

Icontio CR, s.r.o.

  • Jihomoravské inovační centrum
  • U Vodárny 2
  • 616 00 Brno
  • Czech Republic
  • IČO: 293 05 012
  • DIČ: CZ293 05 012
  • Dat. schránka: cru9c34

Společnost Icontio CR, s.r.o. je vedená u rejstříkového soudu v Brně, spisová značka C 72783.

Icontio Ltd., org. složka

  • Spielberk Office Centre
  • Holandská 1
  • 639 00 Brno
  • Czech Republic
  • IČO: 277 29 958
  • DIČ: CZ277 29 958
  • Dat. schránka: a7bdew

Společnost Icontio Ltd., org. složka je vedená u rejstříkového soudu v Brně, spisová značka A 19701.

Fakturační údaje


Název projektu: Vzdělávání zaměstnanců společnosti Icontio CR, s.r.o.

Registrační číslo: CZ.03.1.52/0.0/0.0/16_043/0005314

Doba realizace projektu: 24 měsíců

Naše společnost realizuje projekt v rámci výzvy 03_16_043 Podnikové vzdělávání zaměstnanců. Cílem je zvýšit úroveň znalostí a dovedností zaměstnanců, zajištění souladu jejich kvalifikací a kompetencí s požadavky na vykonávané pracovní činnosti, čímž bude zvýšena konkurenceschopnost podpořených zaměstnanců na trhu práce. Projekt je spolufinancován Evropskou unií.

© 2017 Icontio CR s.r.o.

PORTA