Rozdział 23 · Część II · Planowanie SafeSort na GitHub
Stwórz Issues i dodaj do Project
Każda część SafeSort jest sformułowana Issue przed napisaniem pojedynczego łańcuch znaków kodu.
SafeSort · Część 2 z 6Planowanie
Przed napisaniem kodu każda część SafeSort jest formułowana jako Issue — zapis opisujący zadanie, zanim pojawi się jakikolwiek łańcuch znaków kod.
| Część Issue | Przykład SafeSort |
|---|---|
| Title | «Add directory scanner» |
| Problem | SafeSort nie mogę znaleźć plików w katalogu |
| Expected outcome | scan() przegląda katalog i zwraca lista FileInfo |
| Acceptance criteria | lista kontrolna: przyjmuje Path, wyklucza .git/.venv, nie podąża za odnośnikami symbolicznymi, pokryty testami |
Wszystkie 14 SafeSort numerów rzeczywiście są tak sformatowane w prawdziwym repozytorium — nie są retroaktywnie edytowane i tworzone jako zadanie przed rozpoczęciem pracy nad NEY:
Jedno Issue nie zawsze jest jednym Pull Request
W repozytorium SafeSort 9 z 14 Issues zamknięte Pull Request — ale nie „każdy swoim”: kolizje nazw (Issue nr 6) okazały się na tyle ściśle powiązane z planem przesunięć (Issue nr 3), aby trafić do jednego PR nr 17; to samo z manifestem i undo (Issues nr 7 i nr 8 — jedno PR nr 19). Pozostałe pięć Issues (obsługa błędów systemu plików, ustawienia i logowanie, zestaw testowy, CI, przygotowanie wydania) nie mają własnego wyodrębnionego PR: ta praca weszła do kodu w miarę realizacji odpowiednich modułów i została zamknięta wpisem wyjaśniającym, gdzie dokładnie się znalazła — prawdziwa historia projektu, a nie wymyślona dla ładnej tabeli „14 Issues → 14 PR”.
Issue dodaje się do Project
Wszystkie 14 Issues repozytorium SafeSort rzeczywiście zostało dodanych do tego Project „SafeSort jest pierwszym wydaniem”
Oficjalna dokumentacja
Tłumaczenie i edukacyjna adaptacja oficjalnej dokumentacji GitHub. materiałów źródłowych – CC BY 4.0.
Krótko
- Issue formułuje zadanie — co należy zrobić i jak sprawdzić wynik — zanim kod zostanie napisany.
- Każdy Issue SafeSort ma Title, Problem, Expected outcome oraz listę kontrolną Acceptance criteria.
- Issue istnieje w repozytorium niezależnie Project; Dodawanie do Project to osobny krok.