IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 24. diel - Cykly v JavaScripte po tretie

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Vojtěch Kadlec:15.5.2025 21:46

přijde mi že se učím co nemám dělat. Chápu snahu to zmínit, ale pojetí mi nesedlo

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Vojtěch Kadlec
David Hartinger:4. februára 16:30

To je snad dobře, že tě učíme, co nemáš dělat :)

Odpovedať
New kid back on the block with a R.I.P
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Vojtěch Kadlec
DarkCoder:5. februára 10:40

Použití while (true) nebo for (;;) s řízeným ukončením pomocí break je plně validní a běžná technika.

Uplatňuje se zejména tehdy, když ukončovací podmínka vzniká až během iterace (např. při parsování, čtení streamů, zpracování fronty nebo stavových automatů).

Problémem není samotná konstrukce cyklu, ale nejasně definované nebo neúplné výstupní podmínky. Podmínka v hlavičce cyklu není vždy čitelnější – naopak, explicitní break může zlepšit srozumitelnost tím, že jasně pojmenuje jednotlivé důvody ukončení cyklu.

Nekonečný cyklus může vzniknout v jakékoli konstrukci (while, for), pokud je logika chybná; přítomnost podmínky v hlavičce tomu sama o sobě nezabrání. Proto je nutné hodnotit záměr, čitelnost a úplnost výstupních cest, nikoli mechanicky odmítat while (true) nebo break.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na DarkCoder
David Hartinger:18. februára 15:23

Prosím, uvědom si, že píšeš pod první programovací kurz pro úplné začátečníky. Je pro ně nevhodné vytvářet nekonečné cykly a breakovat, když mohou jednouše přehledně například použít boolean proměnnou nebo zapsat cyklus úplně normálně přes kontrolní proměnnou. Když jim řekneš, že to je ok, tak mohou namísto obyčejného for začít skákat z nekonečného cyklu, protože to někde uvidí. Je to minimálně kontroverzní praktika, u nás to v codereview vracíme zpět na dev (PHP). O tobě navíc vím, že programuješ v nižších jazycích (C/C++), kde jsou návyky benevoletnější než ve vyšších (JS).

Odpovedať
New kid back on the block with a R.I.P
Avatar
DarkCoder
Člen
Avatar
Odpovedá na David Hartinger
DarkCoder:18. februára 16:03

Vím, že jde o úvodní kurz pro začátečníky, proto se do toho nebudu dál pouštět do hloubky. Chtěl jsem jen doplnit širší kontext, protože se s těmito vzory mohou setkat i jinde a je dobré vědět, že mají své legitimní použití. Některé přístupy k řízení toku (např. práce s více výstupními cestami) ale dávají plný smysl až s většími zkušenostmi a studenti se k nim obvykle přirozeně dostanou později, jakmile lépe pochopí tok programu a jeho strukturu.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 5 správy z 25.