Przejdź do treści

Role

Co robi kod w modułach danej roli: endpointy przekazują pracę dalej, w async def nie ma blokujących wywołań, porty są abstrakcyjne, adaptery deklarują swój port, jest jeden korzeń kompozycji, nazwy ORM trzymają konwencję. Te reguły oceniają kod według wyborów zespołu, więc są opt-in; szablon może włączyć regułę dla roli, a niektóre presety też je włączają.

Kod Nazwa Co zgłasza Włączona
INW012 thin-endpoint Endpoint HTTP, który sam wykonuje pracę: za dużo instrukcji, gałęzi albo pętli, własne wywołania bazy danych albo HTTP, albo brak wywołania warstwy, którą wskazuje delegate-to opt-in
INW013 async-blocking Synchroniczne wywołanie bazy danych, cache'u albo chmury wewnątrz async def: synchroniczny Session SQLAlchemy, redis.Redis, boto3 albo blokujący sterownik opt-in
INW014 ports-abstract Klasa w module portu, która nie jest ABC ani Protocol, albo metoda portu, której ciało wykonuje pracę opt-in
INW015 construct-only-in Moduł spoza korzenia kompozycji, który w czasie działania importuje adapter wyjściowy albo inną chronioną rolę lub buduje jedną z jej klas opt-in
INW016 orm-naming Nazwa tabeli, która nie jest w lower_case_snake i w liczbie pojedynczej, albo kolumna daty i czasu bez _at lub _date; uruchomienie dla całego projektu wymaga też konwencji nazw w MetaData opt-in
INW020 adapter-conformance Publiczna klasa w module adaptera bez linii _: Port = Adapter(...) pod if TYPE_CHECKING:, taka linia wykonywana przy imporcie albo linia, której adnotacja nie nazywa żadnego portu opt-in

Lista reguł zbiera reguły wszystkich kategorii w jednym miejscu; można ją przeszukiwać, filtrować i sortować.