dokud ten generovany kod nekdo necommitne do repositare nebo nedej boze nezacne rucne editovat tak mi generovany kod nevadi... v opacnem pripade souhlasim, ze je to zlo
A jaký to je problém, když to commitne? Když se to API mění jednou za uherský rok nebo vůbec, nevidím v tom žádný problém.
To co se muze zmenit se zmeni... kdyz se to deje zridka tak to znamena ze na to nejsem zvyklej a o to vic me to muze zmast.
Za to co je v repositari citim odpovednost. Nechci citit zodpovednost za neco co vygeneroval stroj.
Kdyz delam code review tak se musim podivat jestli zmena ve schematu odpovida zmene v generovanem souboru...
Kdyz na tom dela vic lidi najednou tak se pak treba musi resit ze nekdo commitne zmenu schematu, ale uz ne zmeny v generovanem kodu... Nic se nerozbije, ale je to matouci...
Kdyz budes mit v aplikaci nejaky submodul ktery se meni zridka nebo vubec a nejaky jiny na nem zavisi... tak budes commitovat i binarku?
Přesně takto se to používá:
1/ Generovaný kód, jehož znění nevyžaduje schválení člověkem = generuje se na CI serveru (nebo kdekoliv jinde) + necommituje se.
2/ Generovaný kód, který mi vygeneruje stroj, ale musí projít schválením člověkem = generuje se u vývojáře, a pak se commituje.
Má to tyto důsledky:
V prvním případě se jede na tvrdo optimalizace, stroj může cokoliv.
V druhém případě je očekáváno, že to co se vygeneruje musí být co nejvíce čitelné; nejlépe optimalizované pro diff. (A následně se to třeba celé ještě projede první variantou.)
TypoProvidery a podobně jsou jen první varianta. Jen už zakomponovaná do překladače. Jak už tu někdo zmínil. Ve skutečnosti je to ale spousta dalších případů: gcc, javac, scalac, ... etc, kde by tě ani nepadlo uvažovat, že je to jen prachsprostej generátor kódu. A ne, není to něco jiného