Sraz začal kontrolou PR na GitHubu. První (a poslední) testoval CLI. První bylo potřeba vyřešit merge konflikty a poté kód trochu optimalizovat.
Pokud uděláme vetší změny a chtěli bychom je rozdělit do více commitů, můžeme
to udělat například pomocí nástroje Git GUI - grafický nástroj pro práci s Gitem.
V Git GUI můžeme přidat jednotlivé řádky místo celých souborů.
V příkazové řádce je možno toho stejného docílit pomocí
git add -p tak nám Git nabídne jednotlivé části a my se můžeme rozhodnout,
zda se mají přidat, čí nikoli. Pomocí s pak můžeme části rozdělit.
Následně jsme se věnovali tomu, abychom zamezili opakování kódu. Všechny funkce
byly stejné na začátku a na konci a jediné, co se měnilo byl střed funkce.
Zamezit opakování jde udělat vícero způsoby - jeden z nich je, že vytvoříme
jednu funkci, která zajistí, co se má udělat předem a co se má stát po tom.
Druhou možností je napsat vlastní context manager, který by se dal použít
pomocí with, třeba takto:
with my_context_manager:
...
Context manager lze napsat pomocí dekorátoru @contextmanager z knihovny contextlib.
Místo, kam má uživatel vložit daný kus kódu označíme slovem yield, na němž se
funkce zastaví.
Do příště by bylo fajn si rozmyslet, jak by se dal freezeyt používat a jaká by mohl mít rozšíření.