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.

  • 1. 11. 2023 11:59

    Filip Jirsák
    Stříbrný podporovatel

    Vztahoval jsem to na název funkce.

    Mimochodem, ta poznámka s bajty a znaky byl přesně příklad, kdy by to jméno mělo být popisné. Pokud se změní význam proměnné, a zejména takovým způsobem, kdy může snadno dojít k záměně, jako jsou bajty a znaky, a proměnná se při takové změně nemusí přejmenovat, je to znak, že byla pojmenovaná špatně.

    Mimochodem, to, že by kód funkce měl být krátký a pochopitelný je pravda, ale z kódu poznáte co to dělá, ale proč si musíte odvodit. A když to není zřejmé, správné pojmenování tomu právě může významně pomoci. Pak je ještě možnost dopsat tam komentář, ale podle mne to, co jde vyřešit úpravou kódu, aby byl čitelnější, by mělo být řešení v kódu. Komentář považuju až za poslední možnost, když to nejde jinak.

    Třeba porovnejte tyhle dva příklady:

    if (vek < 18) {
      return <Chyba message="Alkohol vám nemůžeme prodat."/>
    }
    const jePlnolety = (vek >= 18)
    if (!jePlnolety) {
      return <Chyba message="Alkohol vám nemůžeme prodat."/>
    }

    V prvním případě musíte vědět, že se v ČR nesmí prodávat alkohol neplnoletým a hranice plnoletosti v ČR je 18 let. Bez toho nebudete vědět, kde se tam ta osmnáctka vzala. V druhém případě je zavedená proměnná, která je z hlediska kódu úplně zbytečná, ale slouží k pojmenování významu toho výrazu vek >= 18. V názvu proměnné se vyskytuje ten termín „plnoletost“, který v prvním příkladu vůbec není, takže to dost pomůže pochopení významu toho kódu.