Summary
Ten wyjaśniacz kodu zmienia wklejony fragment w plain-English outline: język, każdą funkcję i to, co sugeruje jej nazwa, wynik złożoności cyklomatycznej oraz flagi takie jak puste bloki catch, wywołania eval i kodowane sekrety. Jest to czytnik oparty na regułach, a nie model języka, więc opisuje strukturę, a nie intencję. Złożoność podąża za miarą McCabe'a, gdzie 10 lub mniej na funkcję to rekomendowany limit. Analiza działa w Twojej przeglądarce i Twój kod nigdy nie jest nigdzie wysyłany.
Wyjaśnianie kodu: Wklej kod, uzyskaj plain-English outline
Darmowy wyjaśniacz kodu czyta fragment w Twojej przeglądarce i zwraca jego funkcje, ścieżki decyzji, obsługę błędów i czerwone flagi, abyś wiedział gdzie szukać zanim przeczytasz linia po linii.

Jak używać outline
-
1
Wklej fragment
Jedna funkcja lub jeden plik sprawdza się najlepiej. Wklejenie kilkaset linii outline przestaje być streszczeniem i staje się listą.
-
2
Sprawdź zdanie wstępne
Wymienia język, liczy funkcje i daje wynik złożoności. Wynik powyżej 10 oznacza, że kod ma zbyt wiele ścieżek, aby pomieścić się w głowie jednocześnie.
-
3
Przeczytaj przewodnik
Każda funkcja otrzymuje jedną linię: co sugeruje jej nazwa, jak długa jest, ile ścieżek ma i czy się pętli, czeka czy obsługuje błędy.
-
4
Najpierw otwórz flagi
Jeśli narzędzie wymienia pusty handler błędu lub ciąg podobny do poświadczenia, zacznij tam. To są linie, które najprawdopodobniej zranią Cię później.
Co naprawdę mierzy wyjaśniacz
Struktura ze składni
Usuwa komentarze i ciągi, a następnie dopasowuje definicje funkcji, importy, klasy, pętle i gałęzie dla wykrytego języka. Brak zgadywania na temat tego, do czego jest kod, tylko co zawiera.
Złożoność, którą możesz sprawdzić
Wynik to złożoność cyklomatyczna: jeden plus każdy if, pętla, case, catch i operator logiczny. Jest to ta sama liczba, którą dałby ci linter, a raport NIST zaleca utrzymywanie funkcji na poziomie 10 lub poniżej.
Flagi, które pasują do rzeczywistych błędów
Wywołania eval lub exec, puste bloki catch, zakodowane sekrety, notatki TODO, zagnieżdżenie powyżej czterech poziomów i funkcje powyżej 40 linii. Każda reguła istnieje, ponieważ wskazuje kod, który jest łatwy do źle odczytania.
Wyjaśniacz fragmentu odpowiada "co jest tutaj", a nie "dlaczego jest tutaj"
Pytanie, które zadaje nowy inżynier, rzadko brzmi "co robi ta pętla". To jest "dlaczego serwis rozliczeń wywołuje tę funkcję i kto jeszcze od niej zależy". Wklejony fragment nie może odpowiedzieć na to pytanie, ponieważ odpowiedź znajduje się w innych plikach. To narzędzie jest zbudowane dla pierwszego przejścia: masz otwartą funkcję, masz pięć minut i chcesz wiedzieć, czy to dziesięciolinijowy pomocnik czy splątanina z sześcioma ścieżkami wyjścia. Daje ci to w sekundę i mówi ci, gdzie jest ryzyko. Do drugiego pytania potrzebujesz wyszukiwania na całym repozytorium. To jest luka między czytaniem jednej funkcji a zrozumieniem, jak system jest okablowany, i to gdzie większość czasu wdrażania idzie.
- Używaj go na jednej funkcji lub pliku, a nie całej usługi
- Traktuj flagi jako zachęty do bliższego spojrzenia, a nie stwierdzenia
- Przejdź do wyszukiwania szerokim repozytorium, gdy pytanie dotyczy osób dzwoniących i zależności
Pytania dotyczące wyjaśniacza kodu
Zrozumieć całe repozytorium, a nie tylko jeden fragment
codebasechat odpowiada na pytania dotyczące Twojej bazy kodów w zwykłym angielskim, z plikami i witrynami połączeń, które wspierają każdą odpowiedź.