Summary
To darmowe narzędzie jest sprawdzarką opartą na regułach, a nie modelem AI. Wklejasz git diff albo fragment kodu, a ono przegląda dodane linie pod kątem trzynastu reguł: zaszytych sekretów, SQL składanego ze stringów, połkniętych wyjątków i wyłączonych testów. Oznacza też zbyt duże zmiany i brakujące testy, po czym zwraca wynik 0-100 z numerami linii. Działa w całości w przeglądarce i ma usunąć mechaniczne problemy, zanim zajmie się nimi człowiek.
AI code review narzędzie: sprawdź diff, zanim zrobi to recenzent
Wklej git diff albo fragment kodu. To darmowe narzędzie działa w przeglądarce: wychwytuje sekrety, niebezpieczny SQL, połknięte błędy, pozostawiony kod debugowy i zbyt duże zmiany, a pull requestowi nadaje wynik 0-100.

Co sprawdza checker, a czego nie rusza
Tylko dodane linie
Gdy wklejasz unified diff, checker czyta nagłówki hunków, liczy numery linii w nowym pliku i skanuje wyłącznie dodane linie. Usunięte linie i niezmieniony kontekst nigdy nie generują znaleziska, więc nikt nie zostaje obwiniony za stary kod.
Wynik ważony wagą problemu
Trzynaście reguł dzieli się na trzy poziomy. Wysoki kosztuje 15 punktów: zaszyte sekrety, eval, SQL składany ze stringów, wyłączona weryfikacja TLS. Średni kosztuje 7: połknięte wyjątki, wyizolowane testy, innerHTML, diff na 400 linii. Niski kosztuje 2: TODO, wydruki debugowe, zakomentowany kod. Każda reguła liczy się co najwyżej trzy razy.
Kontrola rozmiaru i testów
Powyżej 200 dodanych linii dostajesz delikatną sugestię podziału zmiany, a powyżej 400 mocniejszą. Wynika to z ustaleń studium SmartBear na danych z Cisco: jakość przeglądu spada, gdy recenzent ma przed sobą więcej niż 200-400 linii naraz. Diff z ponad 50 dodanymi liniami bez pliku testowego też zostaje oznaczony.
Od wklejenia do czystego pull requesta w czterech krokach
-
1
Wklej diff
Uruchom git diff main...HEAD albo git diff --staged przed commitem i wklej wynik. Zwykły fragment kodu też zadziała, ale tracisz nazwy plików i wykrywanie plików testowych.
-
2
Najpierw czytaj znaleziska wysokie
Czerwone pozycje to te, na których recenzent się zatrzyma. Klucz zaszyty w commicie zostaje w historii nawet po usunięciu linii, więc trzeba go unieważnić, a nie tylko usunąć z kodu.
-
3
Napraw albo uzasadnij resztę
Każde znalezisko ma jednozdaniową poprawkę. Jeśli flaga jest fałszywie dodatnia, napisz to w opisie PR. Oszczędzisz recenzentowi tego samego pytania.
-
4
Skopiuj checklistę
Przycisk kopiowania zamienia znaleziska w checklistę w markdownie, którą wklejasz do opisu PR, żeby recenzent widział, co już wyłapano.
Pierwsze trzydzieści sekund review nie powinno iść na console.log
Otwierasz pull request od kolegi i znasz tę rutynę. Przewijasz diff, widzisz pozostawiony wydruk debugowy, TODO bez zgłoszenia, pominięty test i blok catch, który połyka błąd. Żadna z tych rzeczy nie wymaga człowieka. Wymaga checklisty, która uruchomi się, zanim prośba o review wyjdzie. Na tym polega luka, którą wypełnia to narzędzie. Uwaga recenzenta jest ograniczona: badanie SmartBear na przeglądach w Cisco pokazało, że wykrywanie defektów utrzymuje się, gdy ludzie przeglądają 200-400 linii w 60-90 minut, a poza tym słabnie. Każda minuta poświęcona mechanicznym znaleziskom to minuta mniej na pytania, na które odpowie tylko człowiek: czy to właściwe podejście, czy pasuje do architektury, czy za pół roku dalej będzie miało sens. Nie zastąpi recenzenta i nie udaje, że może. Usuwa tanie zarzuty, dzięki czemu przegląd przez człowieka zaczyna się od ciekawej części.
- Wyłapuje mechaniczne znaleziska, zanim prośba o review wyjdzie
- Podaje numer linii wzięty z nagłówków hunków diffa
- Działa lokalnie, więc można wklejać kod firmowy
Pytania o checker
Czy to narzędzie AI do code review, czy linter?
Czy mój kod opuszcza przeglądarkę?
Skąd biorą się progi 200-400 linii i reguła o plikach testowych?
Jak liczony jest wynik?
Czego nie wyłapie?
Z jakimi językami działa?
Czy jest darmowe?
Przeglądaj, mając w polu widzenia całe repozytorium
Diff pokazuje, co się zmieniło, a nie czego dotyka. codebasechat odpowiada na pytania o Twój kod zwykłym językiem, więc możesz sprawdzić, kto wywołuje zmienianą funkcję, zanim zatwierdzisz zmianę.