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.

  • 31. 10. 2023 16:22

    Filip Jirsák
    Stříbrný podporovatel

    Proč říká jméno proměnné to samé, co jméno typu?
    Pokud je to jedináček, nebo se v daném kontextu používá jenom jednou, pak je celkem logické, že se instance jmenuje stejně, jako třída, protože ta instance dělá přesně to samé, jako třída. A v daném kódu se to musí vyskytovat dvakrát jednoduše proto, že daný programovací jazyk nemá speciální podporu pro jedináčky nebo vytváření objektů bez tříd, ale simuluje se to pomocí běžných tříd.

    Jo, ten "csvImport" je lepší než plný název, proti kterému jsem se vymezoval. Akorát bych dodal, že skoro všechno je lepší než ten plný název. Vlastně každé slovo z toho typu by mohlo stačit.
    Nedá se to říct takhle obecně, záleží na kontextu. Respektive obecně by se dalo říct jenom to, že ten plný název je lepší, než cokoli jiného. Pokud jste v kontextu, kde se řeší jen import objednávek z CSV, můžete to nazvat třeba importService, nebo dokonce jen service. Nazvat to jenom csvImport bude špatně prakticky vždy, protože tam, kde s touto instancí služby budete pracovat, budete pracovat nejspíš i s daty. A z csvImport pak nepoznáte, zda je tam služba nebo data.

    Takže pokud tam nechci napsat nějaké dodatečné info já, tak dává smysl brát primárně tu nejkratší nabízenou možnost. Když už se čtenář nic nového nedozví, tak ať toho aspoň nemusí číst moc.
    Název neslouží jen k tomu, aby se z něj čtenář něco nového dozvídal, ale také k tomu, aby od sebe odlišil různé objekty.

    Argument „aby toho čtenář nemusel číst moc“ je úplně mimo a svědčí to jen o absolutní neznalosti toho, jak lidé vnímají informace. Podívejte se na lidský jazyk, kolik je tam redundance – všechna česká slova byste s obrovskou rezervou nacpal do čtyřpísmenných slov, přitom průměrná délka českého slova je 5 znaků a jsou slova mnohem delší. S hláskami to je v zásadě stejné. Nemyslíte si, že by se za ty desítky tisíc let evoluce jazyků vyvinul úspornější jazyk, kdyby to z hlediska lidského vnímání dávalo smysl?

    Lidé, kteří umí číst, nečtou slova po písmenkách, čtou je jako obrázky – jako celek nebo po větších částech. Delší název (třeba csvImportOrder­Service) tedy čtení neztěžuje, naopak ho usnadňuje, protože takový název bude typicky výrazně odlišný od jiných názvů ve stejném kontextu.