Rozdział 23 · Aneks

Dodatkowa praktyka: sześć mini-projektów dla GitHub

Powtórz całą ścieżkę rozwoju samodzielnie: od ustawiania zadania i kodu po testy, commit, aż po Pull Request.

GitHubGitHub- praktyka to ten sam workflow co w SafeSort, samodzielnie

Główny szkic rozdziału, SafeSort, pokazuje pełny cykl rozwoju raz szczegółowo. W dodatkowej praktyce ten sam cykl powinieneś powtarzać samodzielnie o szóstej Małe projekty.

Celem tutaj nie jest tylko napisanie działającego kodu. Każdy projekt należy przygotować jako część portfela GitHub-: określić zadanie, uporządkować kod, dodać testy i dokumentację, wykonać pracę na osobnej gałęzi i zakończyć ją przez Pull Request.

Sześć projektów

ProjektCo ćwiczy
A. Kalkulator z Tkinterbezpieczne parsowanie wyrażeń bez eval(), rozdzielenie logiki i interfejsu
B. Generator losowych historiideterministyczny generator liczb losowych, testowana losowość
C. „Kamień, nożyczki, papier”tabela reguł zamiast łańcucha warunków, sprawdzenie wszystkich dziewięciu kombinacji
D. Odbijające się piłki od Pygameruch w czasie ramowym, niezależność od FPS
E. Konwersja temperaturyczyste funkcje konwersji, sprawdzając poniżej zera absolutnego
F. Aplikacja Notatkioperacje plikowe oddzielnie od interfejsu, obsługując błędy odczytu

Jedno repozytorium dla wszystkich sześciu projektów

python-mini-projects jest repozytorium kursów referencyjnych: pokazuje oczekiwaną strukturę i przepływ pracy, ale Praca edukacyjna nie odbywa się bezpośrednio w tym zakresie. Praktyka — w osobnym egzemplarzu:

Cartesian Schoolrepozytorium referencyjne- struktura i przykładTwoje kontowłasnerepozytorium czy forko tej samej nazwieSześć projektówIssue → gałęzi → kodu →testy są → PR w twojejrepozytoria Część
Praktyka działa w twoim własnym repozytorium lub fork, a nie bezpośrednio w repozytorium szkoły

Jedno repozytorium dla wszystkich sześciu projektów, zamiast sześciu oddzielnych:

Jedno repozytoriumSześć repozytoriów
Ten sam workflow z Issue, branch i Pull Request powtarza się sześć razy w tym samym miejscuTen sam proces musi zostać ponownie skonfigurowany dla każdego repozytorium
Postęp we wszystkich projektach jest widoczny jednocześnie na jednej liście commitów i PRPostęp rozproszony w sześciu oddzielnych historiach
Na stronie profilu – jedno repozytorium z sześcioma projektami w środkuNa stronie profilu — sześć oddzielnych repozytoriów, każde dla jednego małego zadania

Jeśli jeden z projektów rozwinie się w coś niezależnego i zasługuje na osobny projekt Uwaga, później można to przenieść do własnego repozytorium — ale to rozwiązanie na przyszłość, Nie jest to punkt wyjścia. Ustawienia

Workflow dla każdego projektu

Issuekrótkie streszczeniecele i kryteriagotowościGałąźfeat/-nazwa-projektuKod i testyimplementacja plus chociażbyłby samtest automatycznyZobowiązuj sięgit diff sprawdzony,znaczącą zmianąPull Requestotwarty, obejrzany,sprawdzenia przeszły
Ten sam proces powtarza się dla każdego z sześciu projektów
Portfel nie jest mierzony liczbą repozytoriów
Zrozumiały README, działający kod, rozsądna struktura, testy i czytelna historia commitów robią znacznie lepsze wrażenie niż tuzin pustych repozytoriów z jednym plikiem w każdym. Sześć projektów w jednym uporządkowanym repozytorium — silniejsze niż sześć porzuconych oddzielnych.

Ostateczny lista