Čeština vs. angličtina v commit zprávách

Ve svém okolí už naštěstí nevím o nikom, kdo by psal kód v češtině, a to je jedině dobře. Při vývoji se ale člověk nesetkává jen s kódem a “bohužel” toho čte nebo píše daleko víc, například:

  • Commit message do VCS
  • Komentáře na GitHubu, BitBucketu nebo jiném code review toolu
  • Tickety v bug tracking systému
  • User stories / lístečky na tabuli
  • Doc commenty, generovaná dokumentace
  • Specifikace
  • Wiki atd.

Každá z těchto věcí jde potenciálně psát v češtině nebo v angličtině, a pokud jste čistě lokální tým bez větších šancí na brzkou mezinárodní expanzi, má čeština své výhody a je potřeba se rozhodnout, kde udělat ten nepříjemný přechod.

Zatím na všech místních projektech, co jsem byl, se zhruba dodržovalo následující:

  • Kód v angličtině
  • Komentáře a případná dokumentace v angličtině
  • Commit message v angličtině
  • Všechno ostatní v češtině

Ono to má svou logiku – vše, co je blízko kódu, je anglicky, a “nedůležité” věci okolo se kvůli snadnější srozumitelnosti a řadě dalších důvodů píší česky. Trochu nepříjemné ale je, že se tyto věci prolínají – např. bug tracking systém v češtině zobrazuje commit message v angličtině, diskuze pod anglicky psaný commitem probíhá v češtině apod.

Protože jsou častým účastníkem oněch “třecích ploch” právě commity, přemýšlel jsem, jestli nezačít psát commit zprávy česky a anglicky nechat jen kód. Opravdu, jaký má smysl psát popisy commitů v angličtině, když veškerá další komunikace okolo projektu probíhá v češtině? Není naopak vynucovaná angličtina určitým klackem pod nohy vývojářům? Přeci jen, dávat dohromady anglické věty už je něco jiného než psát v angličtině kód.

Zatím jsem se k psaní commit zpráv česky neodhodlal, stále mi to připadá svým způsobem divné, ale trochu to ve mně hlodá pokaždé, když někde vidím mix češtiny a angličtiny.

Kde děláte čáru mezi češtinou a angličtinou vy?

7 thoughts on “Čeština vs. angličtina v commit zprávách
  1. Jako lokální firma jsme také řešili podobné jazykové problémy. Přecházeli jsme na novou vývojovou platformu, ale limitováni jsme byli stávající databází, která měla struktury v češtině (bez diakritiky ;). Nakonec jsme se rozhodli pro kombinované řešení i v kódu. Nádstavba persistentní vrstvy je v angličtině. Aplikační vrstvy od obchodní logiky výše jsou kvůli srozumitelnosti v češtině. Důvodem je i soulad s dlouhodobě udržovanou dokumentací (případy užití, doménové slovníky), kterou máme v češtině. Odpadla nám potřeba konvertovat mezi ekvivalenty z češtiny do angličtiny, kterou zřejmě ve Tvém kombinovaném řešení musíš (intuitivně) provádět.

    Pokud je projekt nadnárodní nebo některý ze stakeholderů nemluví česky, pak bych čekal, že celý projekt pojede v angličtině. Jinak bude pro dotyčného některá část projektové dokumentace nesrozumitelná. Nebo ji bude potřeba duplikovat v obou jazycích.

    Chtělo by se tedy říci, že projekt buď jede celý v češtině nebo celý v angličtině. Každé kombinované řešení je ústupkem jednomu jazyku. Ale z jakých důvodů? Měřítkem by měla být efektivita, kvalita a rychlost práce týmu. Dovedu si představit, že některý tým může být produktivnější, pokud pojede celý v češtině. Ale za tento názor mi dá Aleš Roubíček co proto ;-)

  2. Mentální přepínání mezi češtinou a angličtinou je sice nepříjemné, ale psát kvůli tomu kód dobrovolně v češtině IMO není vůbec dobrý nápad. Stejně je to spíš “čeština” než čeština (klíčová slova jsou anglicky, metody v používaných knihovnách jsou anglicky atd.), a navíc si tím člověk do budoucna v podstatě uzavírá možnost mít členy týmu z jiné země. Tickety, commit zprávy apod. se dají začít psát anglicky ze dne na den, ale česky psaný kód je velký problém.

    Pokud máte kód prolezlý češtinou z historických důvodů, tak tvůj pohled chápu, jen jsem chtěl upozornit, že u nového projektu bych “čistě český projekt” v žádném případě nedoporučil.

  3. Řeším to zhruba tak, jak jsi popsal v článku. Commit messages bych nikdy nepsal česky, nehodí se to. Angličtina se mi zdá stručnější a jasnější. Lépe se s ní popisují technické věci.

    Zbytek je buď česky nebo taky anglicky, záleží na okolnostech. Problém s “mentálním přepínáním” mezi češtinou a angličtinou opravdu nechápu. Je nutné rozumět oběma jazykům a nepřekládat slovíčka z jednoho jazyka do druhého.

  4. Záleží, jak dobře anglicky umíš, a u větších projektů s větším týmem se celkem spolehlivě najdou lidi, pro které je angličtina mimo kód problémem nebo přinejmenším nepohodlností. I na našem projektu s Jirkou Pénzešem, kde ani jeden nemáme s angličtinou zásadnější problém, je trochu divné, že mezi česky psanými tickety, maily, Yammerem, wiki apod. plují anglicky psané commit message. Z čistě komunikačního pohledu opravdu nevidím důvod, proč psát commit zprávy v angličtině, ale je fakt, že to je tak zažité, že i my to nakonec používáme.

  5. V týmu na projektu aktuálně píšeme téměř vše česky – kromě kódu. I dokumentaci v kódu píšeme česky, přičemž tu a commit messages píšeme bez diakritiky. Těžko říci, jestli je to dobře nebo špatně, ale týmu to vyhovuje, nikdo není znevýhodněn (stačí si být trochu v angličtině nejistý a už je to komplikace způsobujííc bolení hlavy a zpomalující tak základní proces jako commitování) a jestli se někdy k aplikaci dostane zahraniční vývojář, tak holt bude muset použít Google Translator :)

  6. IMHO

    • kód anglicky
    • komentáře v kódu, phpDoc česky (teď zkouším angličtinu a cítím jistou neobratnost při popisu složitějších metod tříd)
    • commity mi připadá logické psát stejně jako komentře/in-code doc
    • bugtracking interně psát stejně jako ty commity, ale neprudit ty uživatele, kteří mi pošlou report v opačném jazyku
    • dokumentaci bych preferoval českou, není-li pádný důvod mít ji anglicky
  7. Já commit zprávy používám podobně jako komentáře. Koukám do kódu, kdo tam sakra proč právě tohle dal, podívám se na blame a z commit zprávy se to často dozvím.

    Takže commit zprávy by podle mě měly být ve stejném jazyce jako komentáře. A ty jsou součástí kódu, takže by měly být ve stejném jazyce jako kód. A ten (alespoň ve většině programovacích jazyků) používá anglická klíčová slova, takže není na výběr.

Blog byl staticky vyexportován, nové komentáře již nelze přidávat.