Úloha 4 – Refaktoring na složené přiřazovací operátory
| Stránky: | Moodle ZČU |
| Kurz: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Kniha: | Úloha 4 – Refaktoring na složené přiřazovací operátory |
| Vytiskl(a): | Nepřihlášený host |
| Datum: | neděle, 18. října 2026, 17.29 |
Úvod do úlohy
Kód, který je příliš rozvláčný nebo obsahuje opakující se vzory, se hůře čte i udržuje. Jedním z jednoduchých, ale účinných způsobů, jak kód zpřehlednit, je využití složených přiřazovacích operátorů (+=, -=, *=, /=, %=). Ty nám umožňují zkrátit zápis typu x = x + y na x += y, čímž šetříme nejen počet znaků, ale hlavně soustředění čtenáře. Refaktoring takových pasáží vede k úhlednějšímu a profesionálnějšímu kódu.
Teorie a principy
-
Opakující se vzor: kdykoliv se na obou stranách přiřazení opakuje stejná proměnná (
x = x OP y), je to ideální kandidát pro zkrácený zápis. -
Složený přiřazovací operátor: vyjadřuje kombinaci aritmetické operace a přiřazení v jednom kroku.
-
x += y⟶x = x + y -
x -= y⟶x = x - y -
x *= y⟶x = x * y -
x /= y⟶x = x / y -
x %= y⟶x = x % y
-
-
Výhoda refaktoringu: kratší zápis, lepší čitelnost, méně chyb způsobených nepozorností při opakovaném psaní proměnné.
Praktické příklady kódu
Původní kód bez složených operátorů:
Refaktorovaná verze:
Další příklad:
Refaktorovaná verze:
Typické chyby / záludnosti
-
Přepis jiného pořadí operandů:
-
Nejasnost u složitých výrazů: příliš zkrácený zápis může být méně srozumitelný, pokud obsahuje více operací najednou.
-
Didaktické situace: někdy je vhodné ponechat delší verzi, aby byl postup jasně vidět (např. při vysvětlování začátečníkům).
Shrnutí
-
Refaktoring pomocí složených přiřazovacích operátorů zkracuje zápis
x = x OP ynax OP= y. -
Zlepšuje čitelnost a snižuje riziko chyb.
-
Musíme ale dbát na to, aby se nezměnil význam výrazu.
-
Hodí se zejména tam, kde se pracuje s akumulací, inkrementací či postupnou úpravou proměnné.
Úloha
Zadání (kontext úlohy)
Máte kód, který používá opakovaný vzor x = x <operátor> y.
Úkolem je přepsat ho výhradně pomocí složených přiřazovacích operátorů.
Nepřepisuj nic jiného – nezkracuj názvy proměnných, neměň pořadí řádků, typy ani text výpisů.
Cíl úlohy
-
Procvičíš si bezpečný refaktoring na složené přiřazovací operátory (
+=,-=,*=,/=,%=) bez změny logiky a výsledků programu. -
Ověříš, že po úpravě program vypíše stejné hodnoty jako původní kód.
Vstupní podmínky
-
Pracuješ ve startovním souboru
script.js. -
Smíš upravit pouze řádky s přiřazením podle zadání.
Požadovaný výstup
-
Program po refaktoringu vypíše identické výsledky jako původní kód.
-
Všechny výrazy typu
x = x <operátor> yjsou nahrazeny ekvivalentními složenými operátory.
Doplňující pokyny
-
Neměň texty v
console.log(...). -
Neměň datové typy ani pořadí operací.
-
V této úloze lze přepsat všechny přiřazovací řádky složenými operátory.
Soubor
Řešení úlohy
Co je zde splněno:
-
Všechny vzory
x = x <operátor> ypřepsány nax <operátor>= y. -
Zachována logika i pořadí výpočtů.
-
Stejné výsledky výstupu:
-
score: 2 -
name: "Anna Novakova" -
arr: [1, 7, 3] -
stats: { wins: 3, losses: 0 }
-