# Měňte existující systém bezpečně

Taiga Learning · Pracovní list
https://taiga.training/cs/lessons/existing-systems/

Používejte fiktivní nebo schválené informace. Do pracovního listu nevkládejte tajné údaje.

## Cíle učení
- Určit kontrakty, které může ovlivnit lokální změna kódu.
- Vysvětlit postupnou změnu metodou expand-and-contract.
- Odlišit návrat k předchozí verzi kódu od obnovy dat.

## Cvičení
Vyberte malou změnu pole nebo API. Sepište všechny komponenty, které data čtou a zapisují, včetně úloh na pozadí. Popište první přidávací krok, kontrolu přechodu a podmínku odstranění. Určete krok, který by mohl znemožnit rollback.

## Vaše odpověď
- Scénář a rozsah:
- Předpoklady a otevřené otázky:
- Navržená odpověď nebo rozhodnutí s důvody:

## Ověřte odpověď
| Tvrzení nebo kritérium | Důkaz nebo test | Výsledek nebo nedostatek | Odpovědná osoba |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Další akce
- Akce, odpovědná osoba a datum:
- Kdy tuto odpověď znovu posoudíte?

## Zásada k zapamatování
Posuzujte přechod mezi verzemi, nejen konečný návrh. Staré i nové komponenty mohou běžet současně.

## Zdroje
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

Tento pracovní list podporuje učení. Jeho vyplnění samo nepovoluje produkční změnu.
