Jakość kodu
Jak łatwo czytać, zmieniać i rozumieć kod, którego zespół dotyka co tydzień.
Pytania — odpowiedzcie „tak” albo „nie”
- Czy nowa osoba w zespole jest w stanie już w pierwszym tygodniu wprowadzić małą, bezpieczną zmianę w najczęściej modyfikowanym module?
- Czy wiecie, które pliki zmieniają się najczęściej i jak bardzo są złożone (tzw. hotspoty)?
- Czy nowe uwagi z analizy statycznej (linter, sprawdzanie typów, skaner jakości kodu) są naprawiane, zanim pull request zostanie zmergowany?
- Czy typowe rzeczy, takie jak obsługa błędów, logowanie i dostęp do danych, robi się w jeden uzgodniony sposób, a nie na kilka konkurencyjnych?
- Gdy zmienia się reguła biznesowa, czy poprawiacie ją w jednym miejscu, a nie w kilku kopiach tej samej logiki?
- Czy zakomentowany i martwy kod oraz nieużywane flagi funkcji są regularnie usuwane?
Liczba odpowiedzi „nie”: ____ → wynik obszaru (0–3): ____
Sygnały ostrzegawcze
- „Tego modułu odważy się dotknąć tylko jedna osoba”.
- Wyceny drobnych zmian w niektórych częściach kodu są rutynowo zawyżane, „bo to ten moduł”.
- Ostrzeżenia lintera albo analizatora liczone w tysiącach, na które nikt już nie patrzy.
Przykładowe miary
- Przykład: częstotliwość zmian × złożoność dla każdego pliku (hotspoty), wyliczona z historii repozytorium
- Przykład: liczba plików, których dotyka typowa mała zmiana
- Przykład: trend liczby uwag z analizy statycznej między wydaniami (kierunek jest ważniejszy niż wartość bezwzględna)