You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: subjects/PGIS3/prezentace/07_sprava_vlastniho_kodu.qmd
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Správa vlastního kódu pro [ArcPy]{.software}"
3
3
subtitle: "Programování v GIS 3"
4
4
author: "Jan Caha"
5
-
date: 2024-11-03
5
+
date: 2025-11-04
6
6
date-format: "YYYY-MM-DD"
7
7
format:
8
8
revealjs:
@@ -46,7 +46,7 @@ execute:
46
46
## Python balík
47
47
48
48
- v podstatě základní souborová struktura
49
-
- velice malé minimální požadavky (budeme předpokládat trochu vyšší nároky, aby byl použitělější)
49
+
- velice malé minimální požadavky (budeme předpokládat trochu vyšší nároky, aby byl použitelnější)
50
50
- cílem je mít balík hostovaný na GitHubu, automaticky testovaný a nainstalovatelný příkazem
51
51
52
52
```bash
@@ -60,9 +60,9 @@ pip install . --upgrade
60
60
```
61
61
- i v [conda]{.software} prostředí instalujeme přes [pip]{.software}, kvůli jednoduchosti
62
62
63
-
## Python balík - struktura nezbyné
63
+
## Python balík - struktura nezbytný záaklad
64
64
65
-
-`slozka_projektu` - pro [VS Code]{.software} a logické odělení kódu - nemusí se jmenovat přímo jako balík
65
+
-`slozka_projektu` - pro [VS Code]{.software} a logické oddělení kódu - nemusí se jmenovat přímo jako balík
66
66
-`src` - složka zdrojáků - zde vytvoříme složku s jménem balíku
67
67
-`pyproject.toml` - soubor popisující balík a jeho vlastnosti
68
68
-`.env` - soubor s proměnnými prostředí, zejména `PYTHONPATH`
@@ -182,8 +182,8 @@ pythonpath = ["src"]
182
182
- v Pythonu dva hlavní frameworky - [unittest]{.software} a [pytest]{.software}
183
183
-[pytest]{.software} je modernější a "jednodušší" na použití - na ten se zaměříme
184
184
- techniky a postupy testování mohou působit složitě, ale základní principy jsou jednoduché
185
-
- existuje vícero druhů testů, ale nás zajimají pouze jednotkové testy (unit tests) - testujeme jednotlivé části kódu (funkce či objekty a jejich chování)
- existuje vícero druhů testů, ale nás zajímají pouze jednotkové testy (unit tests) - testujeme jednotlivé části kódu (funkce či objekty a jejich chování)
- obvykle spouštíme celou baterii testů příkazem `pytest` v kořenové složce balíku (nastavení je definované v `pyproject.toml`, jinak je příkaz složitější)
198
-
- lze omezit na konrétní soubor ale i funci v rámci souboru
198
+
- lze omezit na konkrétní soubor ale i funkci v rámci souboru
199
199
- integrováno ve [VS Code]{.software}, takže testy lze spouštět přímo z IDE
200
200
- výhodou je, že se zobrazí výsledky a chyby přímo v editoru a vizuálně
201
201
- lze spouštět i jednotlivé testy, přímo z editoru
@@ -229,6 +229,6 @@ def test_plus():
229
229
- pokud chcete kód sdílet s ostatními, je to zásadní
230
230
- pokud chcete mít kód pod kontrolou a mít jistotu, že funguje, jsou testy nutnost
231
231
- v čase se mohou měnit používané funkce, knihovny atd. a jen testy tyto změny dokáží zachytit dřív než se chyba reálně projeví
232
-
- "progmátorská disciplína" - ke každému kódu by měla existovat dokumentace (klidně kratičká) a test
232
+
- "programátorská disciplína" - ke každému kódu by měla existovat dokumentace (klidně kratičká) a test
0 commit comments