Hlavní navigace

Odpověď na názor

Odpovídáte na názor ke článku Proč Java používá tak dlouhé názvy tříd a proměnných.

  • 2. 11. 2023 0:05

    Filip Jirsák
    Stříbrný podporovatel

    proč je pro mě podstatné, že je to zrovna CSVImportOrder­Service? Všechny věci, které jsou pro csv specifické za mě řeší ta třída (od toho přeci je)
    Ta třída určitě není od toho, aby řešila všechny věci specifické pro CSV. Jednoduchý příklad – budete mít další služby se stejným rozhraním, ovšem pro XML, JSON atd. Nejprve budete muset detekovat typ souboru, a pak podle toho zavolat službu pro CSV, XML, JSON apod.

    Nehledě na to, že pokud mi ta služba přiteče parametrem, tak ten bude stejně skoro vždycky typu ImportOrderSer­viceInterface.
    Nebo také bude typu CSVImportOrder­Service. Protože z ničeho jiného, než z CSV, v tuto chvíli objednávky importovat neumíte. Tak proč vytvářet nějaký zbytečný interface?

    tam je zase spousta věcí zřejmá z kontextu.
    Co tím zkrácením názvu získáte? Vy musíte přemýšlet, jak název zkrátit. Každý, kdo kód čte, pak musí přemýšlet, jestli importOrderSer­vice je CsvImportOrder­Service, nebo jestli to náhodou nemůže být něco jiného. Ano, někdy to zkrácení může mít význam. Ale ten postup by měl být přesně opačný, než říkáte vy – by default název nechám, ale pokud je k tomu důvod, mohu ho změnit (zkrátit nebo i prodloužit). Nebudu ho zkracovat jen tak, protože to jde – zkrácením bez dalšího důvodu nic nezískám.