Ú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 y na x 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> y jsou 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

Odkaz na js soubor

Řešení úlohy

Co je zde splněno:

  • Všechny vzory x = x <operátor> y přepsány na x <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 }