Toolverse
Wszystkie skille

m05-type-driven

autor: actionbook

Zapobiegaj błędom na etapie kompilacji, nie w runtime — koduj niezmienniki w typach

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

Skill do projektowania sterowanego typami w Rust. Uczy, jak system typów może uniemożliwić nieprawidłowe stany zamiast polegać na kontrolach w runtime. Obejmuje wzorce takie jak type state, newtype, PhantomData, builder pattern i sealed trait. Pokazuje, jak przesunąć walidację z czasu wykonania na czas kompilacji, aby kompilator pilnował poprawności kodu.

Jak używać

  1. Zainstaluj skill m05-type-driven z repozytorium actionbook/rust-skills jako referencję do projektowania typów.

  2. Gdy napotykasz problem wymagający walidacji (np. format e-maila, zakres liczby, stan obiektu), zamiast dodawać kontrolę runtime, zadaj sobie pytanie: czy typ może zakodować to ograniczenie?

  3. Dla każdego wariantu problemu sprawdź tabelę wzorców w README — jeśli masz obsesję na primitywy ("to tylko string"), flagi logiczne lub wszędzie Optional, skill podpowiada, jak zamienić to w typy.

  4. Zastosuj odpowiedni wzorzec: newtype dla wartości semantycznych, type state pattern dla przejść między stanami, builder pattern dla złożonych konstruktorów, sealed trait do ograniczenia implementacji.

  5. Jeśli projekt typów pozostaje niejasny, skorzystaj z wskazówki "Trace Up" — przejdź do skill m09-domain, aby zdefiniować model domeny i prawidłowe przejścia stanów.

  6. Weryfikuj, że kompilator teraz odrzuca nieprawidłowe stany — jeśli kod się kompiluje, invarianty są gwarantowane bez testów runtime.

Podobne skille