Rozdział 23 · Część III · Tworzymy projekt Python-

Planowanie struktury pakietu Python-

src-układ: pakiet znajduje się w src/safesort/, a nie w korzeniu repozytorium — i dlaczego jest to świadomy wybór, a nie dogmat.

SafeSort · Część 3 z 6Projekt

Chaotyczna struktura katalogów nie przeszkadza programowi działać, ale utrudnia jego zrozumienie, testowanie i instalowanie jako pakiet. Dopóki kod nie jest napisany, zarejestrujemy tylko szkielet — i dodamy do niego po jednym pliku na raz, gdy pojawi się zadanie dla niego.

safesort/NOWE
README.md
pyproject.tomlNOWE
src/NOWE
safesort/NOWE
__init__.pyNOWE
tests/NOWE
Szkielet drzewa projektu źródłowego: src/safesort/ zawiera importowalny pakiet, pyproject.toml — metadane projektu i ustawienia systemu budowania, a tests/ — testy.

Kod źródłowy znajduje się w środku src/, a nie bezpośrednio w katalogu głównym repozytorium — to się nazywa src- Układ (src layout). Bez niego na poziomie zainstalowany pakiet i katalog źródłowy byłyby takie same, co łatwo byłoby pomyłkować Sprawdź niewłaściwy kod, który faktycznie został zainstalowany — na przykład, jeśli zapomnisz o ponownej instalacji po edycji pliku.

src/safesort/
__init__.py
scanner.py
classifier.py
planner.py
executor.py
cli.py
duplicates.py
manifest.py
config.py
Te pliki pojawią się później, gdy pojawi się zadanie — nie musisz ich teraz pamiętać.

Krótko

  • Pakiet na razie składa się tylko z README.md, pyproject.toml, src/safesort/__init__.py i tests/.
  • src- układ umieszcza kod źródłowy w src/safesort/ zamiast w korzu repozytorium, aby testy nie mogły przypadkowo uzyskać dostępu do odinstalowanego kodu.
  • Pozostałe moduły pojawią się pojedynczo, każdy z nich, gdy będzie miał konkretne zadanie.