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 12:13

    Filip Jirsák
    Stříbrný podporovatel

    Když je to pojmenovaný symbol, tak si v IDE ty jednotlivá použití můžu jednoduše projít. Ale s hledáním nejakého čísla mi IDE moc nepomůže.
    Začal jste od prostředka. Když to budou pojmenované symboly, budete muset nejprve fulltextem vyhledat všechny výskyty čísla 18, zjistit, do jakých pojmenovaných symbolů se ukládají – a pak teprve můžete hledat v IDE použití těch symbolů.

    Pokud byste náhodou chtěl argumentovat tím, že ten pojmenovaný symbol má být v projektu jenom jeden – máte pravdu, ale přemýšlejte o tom, jak se to stane, aby byl jenom jeden. Někdo bude chtít tu hodnotu použít, tak prohledá fulltextem projekt, zda už náhodou někde není ten symbol definován. Nebo jestli se to náhodou někde nepoužívá přímo v kódu. Když najde pojmenovanou konstantu, buď ji použije, nebo kód refaktoruje, aby ji mohl použít. Když najde přímo číslo, zrefaktoruje kód tak, aby třeba vytkl metodu, kde se ta to číslo používá (protože ho bude chtít použít stejným způsobem, takže nebude kód kopírovat).

    Nebo-li postup vývojáře bude pořád stejný, ať to bude pojmenovaný symbol nebo přímo číslo v kódu.

    Jak už jsem psal, ten věk je zrovna hraniční případ a záleží na týmu, někde bych považoval za správné ten pojmenovaný symbol vytvořit, někde by mi přišlo lepší mít to přímo v kódu, pokud to bude jen na jednom místě. Ale jsou i jasné případy, kdy nemá smysl vytvářet pro to konstantu. Pokud budu mít v aplikaci výpočet plochy čtverce, nebudu tu dvojku označující mocninu dvou nikam dávat jako konstantu. Protože to není žádné magické číslo ale je to prostě číslo, jehož význam každý pochopí daleko snáz, než kdybych se pokoušel uložit to do pojmenovaného symbolu.