Úloha 5 – Refaktoring podmínek: predikáty, guard clauses a short-circuit
Požadavky na absolvování
Řešení úlohy
Co je zde splněno
-
Všechny podmínky používají striktní porovnání a explicitní převody (
Number(...),Number.isFinite). -
Zavedeno několik guard clauses pro rychlé ukončení a jasnou logiku.
-
Odstraněna magická čísla – nahrazena pojmenovanými konstantami.
-
Testy jsou seřazeny od levných k nákladným; využito krátké vyhodnocování.
-
Složitější logika byla rozdělena do pojmenovaných predikátů s krátkými komentáři „proč“.
-
Řazení probíhá česky pomocí
localeCompare('cs', {sensitivity: 'base'}).
Poznámky
NaNse nikdy nesrovnává pomocí===; použijteNumber.isFinite(neboNumber.isNaN) po explicitním převodu.
localeCompareje stabilní způsob, jak řešit diakritiku a různé varianty písmen bez ohledu na velikost.