Jestli chápu dobře, tak navrhujete :
- Enum pro commandy
- Fukci string na enum
- Switch podle enumu
- řadu funkcí pro jednotlivé položky
Takže tu máme 3-4 věci, které jsou tak těsně svázané, že jedna bez druhé nedávají smysl. Najednou musíte hlídat 3-4 různá místa, aby byly v souladu a překladač moc nepomůže.
A za tenhle boilerplate navíc získáte to, že budete mít řadu bloků příkazů jako předtím. Akorát se změní že nad každým blokem nebude název toho příkazu jako string v ifu, ale jako jméno funkce.