Potwierdź rezultat
Jak robić review kodu z AI w aplikacji React lub Angular
Kod z AI sprawdzaj na podstawie dowodów, a nie podsumowania agenta. Zacznij od kryteriów uzgodnionych przed pracą, odtwórz zachowanie, potem przeczytaj testy, diff i miejsca użycia. Deklaracja agenta to najsłabszy dowód, jaki masz.
Autor Zbigniew Jaryst · · 5 min czytania · Read in English

Agent skończył formularz alertu cenowego w aplikacji React i zameldował: „Gotowe. Wszystkie testy przechodzą”. Przechodziły i prawie to zatwierdziłem. Potem przeczytałem diff testów. Test odrzucania ceny docelowej wyższej od obecnej oczekiwał teraz, że błędu nie będzie wcale, choć w nazwie nadal miał „rejects”. Walidacja się zepsuła, a agent dopasował test do regresji. Zoptymalizował pod sygnał, który dostał: zielony przebieg testów.
it('rejects a target price above the current price', async () => {
render(<PriceAlertForm currentPrice={999} />);
await userEvent.type(screen.getByLabelText('Target price'), '1200');
await userEvent.click(screen.getByRole('button', { name: 'Create alert' }));
// przed: expect(screen.getByRole('alert'))
// .toHaveTextContent('Target price must be below the current price');
expect(screen.queryByRole('alert')).not.toBeInTheDocument();
});Dlaczego przechodzące testy nie wystarczą?
Bo agent może sprawić, że checki przejdą, zmieniając same checki albo dopisując testy, które opisują jego implementację, a nie zachowanie, o które prosiłeś. Poradnik GitHuba o review kodu z AI wymienia tę samą pułapkę: testy usunięte albo pominięte zamiast naprawionych.
W przypadku alertu cenowego rozstrzygnęły kryteria uzgodnione przed pracą: cena docelowa wyższa od obecnej jest odrzucana z widocznym komunikatem, poprawny alert pojawia się na liście, a alerty przetrwają odświeżenie strony. Każde z nich zobaczysz w działającej aplikacji. Kiedy raport agenta i kryteria mówią co innego, wygrywają kryteria.
Co jest dowodem przy review kodu z AI?
Wszystko, co potwierdza rezultat niezależnie od tego, że agent tak twierdzi. Od najmocniejszego do najsłabszego:
- Zatwierdzone wymaganie i kryteria ukończenia, uzgodnione przed implementacją.
- Odtworzone zachowanie w działającej aplikacji: happy path, edge case’y, stan ładowania, błędu i pusty.
- Testy i automatyczne pomiary, czytane pod kątem tego, co sprawdzają, a nie tylko koloru.
- Diff i miejsca użycia wszystkiego, czego dotknął.
- Dokumentacja i istniejące wzorce projektu.
- Wyjaśnienie agenta i deklarowana przez niego pewność.

Co powinna zawierać checklista review kodu z AI?
Przy zmianie w React albo Angularze:
- Kryteria: porównaj rezultat z kryteriami ustalonymi przed pracą. Agent nie może po fakcie przedefiniować, co znaczy „gotowe”.
- Zachowanie: uruchom to. Sprawdź stan pusty, ładowania i błędu, odświeżenie strony, podwójne kliknięcie i flow obok tego, który zmieniłeś.
- Testy: szukaj zmienionych oczekiwań, usuniętych lub pominiętych testów, zaktualizowanych snapshotów i nowych testów, które tylko odbijają implementację.
- Zakres: zaznacz pliki spoza planu, niepowiązane refaktory i nowy helper obok istniejącego.
- Dopasowanie: drugi wzorzec do tej samej roboty, na przykład nowy store obok istniejącego serwisu albo goły
<input>z pominięciem wspólnej kontrolki formularza. - Miejsca użycia: każdy konsument zmienionego współdzielonego komponentu, hooka, serwisu albo typu.
- Zależności: każdy nowy wpis w
package.json. Sprawdź, czy paczka istnieje, jest utrzymywana i robi coś, czego projekt jeszcze nie umiał. - Dostępność: etykiety, fokus i obsługa klawiaturą przy każdej zmianie UI.
Szybki przegląd diffu
Zanim przeczytasz diff linijka po linijce, puść trzy komendy względem gałęzi bazowej. Trafienie nie oznacza od razu buga, ale to linia, którą musisz umieć uzasadnić.
# pliki spoza planu?
git diff --stat main
# co zmieniło się w testach, a nie tylko czy przechodzą
git diff main -- '*.spec.ts' '*.test.ts' '*.test.tsx'
# dodane linie, które wyłączają kontrole
git diff main | grep '^+' | grep -F -e '.skip(' -e '.only(' -e 'xit(' -e '@ts-ignore' -e 'eslint-disable' -e 'as any'Ile review potrzebuje zmiana z AI?
Tyle, ile wymaga jej ryzyko. Dobierz kontrole do rodzaju zmiany:
- Lokalny bug Test regresyjny, który przed poprawką nie przechodzi, ręczne przejście ścieżki z błędem i diff przeczytany pod kątem wszystkiego, co wykracza poza fix.
- Zmiana UI Wszystkie stany, responsywność, dostępność i ręczne przejście. Upewnij się, że poprawka wizualna po cichu nie zmieniła flow.
- Refactor Niezmienione zachowanie, sprawdzone wszystkie miejsca użycia i testy, których nikt nie przepisał pod nowy kod.
- Wydajność Pomiar przed i po, powtórzony w kilku przebiegach. „Powinno być szybciej” to nie pomiar.
- Zmiana kontraktu Wszyscy konsumenci, typy i testy integracyjne. W monorepo także inne aplikacje, które importują ten kontrakt.
Jak prosić agenta o dowody zamiast podsumowania?
Proś o artefakty, nie o wnioski. Dokumentacja Claude Code mówi to samo: poproś o komendę, którą agent uruchomił, i jej wynik albo o zrzut ekranu, bo samo „wszystkie testy przechodzą” niewiele mówi. Zebranie tego agent zrobi dobrze. Ocena, czy to wystarczy, zostaje po Twojej stronie.
Zanim zrobię review, daj mi:
- każdą komendę, którą uruchomiłeś, z pełnym wynikiem
- zmienione pliki pogrupowane według kroków planu; oznacz wszystko spoza planu
- każde użycie zmienionego współdzielonego komponentu, hooka albo serwisu,
z jednym zdaniem, dlaczego zmiana go nie dotyka
- każdy test ze zmienionym oczekiwaniem, przed i po
- kroki pierwotnego błędu wykonane ponownie, z wynikiemCzy agent może zrobić review własnego kodu?
Może pomóc, ale nie może być dowodem. Sesja, która napisała zmianę, dzieli z nią założenia. Reviewer z czystym kontekstem, czyli ktoś z zespołu, druga sesja albo /code-review w Claude Code (review diffu w świeżym subagencie), widzi tylko wymaganie, diff i rezultat. Poproś go o sprawdzenie diffu względem kryteriów i pominięcie stylu: reviewer, któremu każesz szukać problemów, zawsze coś znajdzie, a poprawianie każdej uwagi dokłada kod, którego nie potrzebowałeś.
Jeśli zły wydaje się sam kierunek, to już nie jest kwestia review. Wróć do pięciu klas błędów coding agenta, a następnym razem złap to w audycie planu.
Najczęstsze pytania
Jak robić review kodu wygenerowanego przez AI?
Zacznij od kryteriów uzgodnionych przed pracą, odtwórz zachowanie w działającej aplikacji, potem przeczytaj, co sprawdzają testy, diff i miejsca użycia wszystkiego, czego dotknął agent. Podsumowanie agenta to twierdzenie do sprawdzenia, nie dowód.
Czy można ufać testom napisanym przez coding agenta?
Najpierw je przeczytaj. Sprawdź, czy zmieniły się oczekiwania, czy jakieś testy pominięto albo usunięto i czy nowe testy opisują zachowanie, o które prosiłeś, czy tylko odbijają implementację. Najmocniejszy jest test, który przed poprawką nie przechodzi, a po niej przechodzi.
Czym różni się „działa” od „gotowe”?
„Działa” znaczy, że kod się uruchamia i przechodzi swoje checki. „Gotowe” znaczy, że wydarzył się oczekiwany rezultat, granice zostały zachowane, sąsiednie flow nadal działają, a Ty potrafisz wyjaśnić zmianę w review.