Przejdź do głównej zawartości

Przegląd kodu wspomagany przez AI

Przeglądy kodu są kluczowe dla utrzymania jakości, dzielenia się wiedzą i wczesnego wykrywania błędów. Ta lekcja pokazuje, jak możliwości AI Cursor rewolucjonizują proces przeglądu kodu, czyniąc go szybszym, bardziej gruntownym i edukacyjnym zarówno dla recenzentów jak i autorów.

Tradycyjne przeglądy kodu często cierpią z powodu zmęczenia recenzentów, niespójnych standardów i ograniczeń czasowych. AI Cursor transformuje to, zapewniając inteligentną analizę, automatyczne sprawdzenia i kontekstowe sugestie, które podnoszą cały proces przeglądu.

Automatyczne pierwsze przejście

AI wykonuje wstępny przegląd łapiąc częste problemy, naruszenia stylu i potencjalne błędy

Zrozumienie kontekstu

AI rozumie szerszy kontekst bazy kodu i wzorce architektoniczne

Asystent nauki

AI wyjaśnia złożone sekcje kodu i sugeruje ulepszenia z uzasadnieniem

Egzekutor spójności

AI automatycznie zapewnia przestrzeganie standardów zespołu i najlepszych praktyk

Przed przesłaniem kodu do przeglądu, użyj AI Cursor do przeprowadzenia gruntownego samo-przeglądu:

  1. Analizuj zmiany holistycznie

    Okno terminala
    # Poproś AI o przegląd twoich zmian
    @git "Przejrzyj moje staged zmiany pod kątem potencjalnych problemów,
    sugerując ulepszenia dla czytelności, wydajności
    i łatwości utrzymania"
  2. Sprawdź częste problemy

    Okno terminala
    # Żądaj określonych sprawdzeń
    "Sprawdź moje zmiany pod kątem:
    - Luk bezpieczeństwa
    - Wąskich gardeł wydajności
    - Brakującej obsługi błędów
    - Niepełnego pokrycia testami"
  3. Wygeneruj notatki do przeglądu

    Okno terminala
    # Utwórz dokumentację przyjazną dla recenzentów
    "Wygeneruj podsumowanie moich zmian zawierające:
    - Jaki problem to rozwiązuje
    - Kluczowe decyzje architektoniczne
    - Obszary wymagające szczególnej uwagi
    - Potencjalne wpływy na inne systemy"
Napraw błąd autoryzacji użytkownika
- Zaktualizowano logikę logowania
- Dodano obsługę błędów
- Naprawiono odświeżanie tokenów
  1. Wstępna analiza AI

    // Poproś AI o kompleksową analizę
    "Przeanalizuj ten PR pod kątem:
    1. Błędów logicznych i przypadków brzegowych
    2. Implikacji wydajności
    3. Luk bezpieczeństwa
    4. Spójności stylu kodu
    5. Adekwatności pokrycia testami
    Podaj konkretne przykłady i sugestie"
  2. Głębokie spojrzenie na złożone sekcje

    // Dla złożonych algorytmów lub logiki biznesowej
    "Wyjaśnij algorytm tej funkcji krok po kroku,
    zidentyfikuj potencjalne przypadki brzegowe i zasugeruj
    ulepszenia dla przejrzystości i wydajności"
  3. Przegląd architektury i projektu

    // Oceniaj decyzje architektoniczne
    "Przejrzyj wzorce architektoniczne tego kodu.
    Czy przestrzega zasad SOLID?
    Czy są naruszenia wzorców projektowych?
    Zasugeruj alternatywne podejścia jeśli dotyczy"
  4. Wygeneruj konstruktywną opinię

    // Stwórz pomocne komentarze do przeglądu
    "Pomóż mi napisać konstruktywny komentarz do przeglądu
    dla tej sekcji kodu wyjaśniający dlaczego obecne
    podejście może powodować problemy i sugerując
    lepszą alternatywę z przykładowym kodem"
// Poproś AI o identyfikację wzorców i antywzorców
"Przejrzyj ten kod pod kątem częstych antywzorców takich jak:
- God objects
- Tight coupling
- Przedwczesna optymalizacja
- Wycieki pamięci
- Race conditions
Podaj konkretne przykłady z kodu"
// Prompt analizy bezpieczeństwa
"Przeprowadź przegląd bezpieczeństwa tego kodu sprawdzając:
- Luki SQL injection
- Wektory ataków XSS
- Obejścia autoryzacji
- Ekspozycję wrażliwych danych
- Błędne konfiguracje CORS
Ocenij każde znalezisko według dotkliwości"
// Analiza wydajności
"Przeanalizuj ten kod pod kątem problemów wydajności:
- Złożoność czasowa algorytmów
- Wzorce użycia pamięci
- Efektywność zapytań bazodanowych
- Możliwości cache'owania
- Optymalizacja operacji async
Zasugeruj konkretne ulepszenia z benchmarkami"

Podczas sesji przeglądu na żywo, użyj AI do:

Wyjaśnij kod

Natychmiast wyjaśnij złożone sekcje recenzentom

Sugeruj alternatywy

Generuj alternatywne implementacje na bieżąco

Odpowiadaj na pytania

Zapewniaj kontekst o decyzjach i zależnościach

Twórz przykłady

Generuj przykłady użycia i przypadki testowe

~/.cursor/mcp.json
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567"
}
},
"linear": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-linear"],
"env": {
"LINEAR_API_KEY": "your-api-key"
}
},
"jira": {
"command": "npx",
"args": ["-y", "@atlassian/mcp-server-jira"],
"env": {
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@company.com",
"JIRA_API_TOKEN": "your-api-token"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}
"Używając Slack MCP, powiadom kanał #code-reviews:
- PR #123 gotowy do przeglądu
- Tytuł: 'Napraw race condition autoryzacji'
- Autor: @jan
- Priorytet: Wysoki
- Link: [URL PR]"
// AI automatycznie formatuje i wysyła wiadomość
"Opublikuj podsumowanie przeglądu na #dev-team:
- Znaleziono 3 krytyczne problemy
- 5 sugestii do ulepszenia
- Szacowany czas naprawy: 2 godziny"
// Twórz zadania z komentarzy przeglądu
"Używając Jira MCP, utwórz zadanie:
- Tytuł: 'Refaktoryzacja modułu autoryzacji'
- Opis: 'Na podstawie komentarzy przeglądu PR #123'
- Priorytet: Średni
- Sprint: Bieżący
- Przypisany: jan@firma.com
- Etykiety: ['tech-debt', 'security']"
// Linkuj PR do istniejących problemów
"Używając Linear MCP:
- Znajdź problem 'AUTH-123'
- Dodaj komentarz: 'PR #456 adresuje ten problem'
- Zaktualizuj status na 'W przeglądzie'
- Dodaj notatki recenzenta z naszej dyskusji"
// Kompleksowe zarządzanie PR
"Używając GitHub MCP:
1. Pobierz wszystkie komentarze przeglądu PR #123
2. Utwórz problemy dla nierozwiązanych wątków
3. Sprawdź status CI/CD
4. Listuj konfliktujące PR
5. Zasugeruj recenzentów na podstawie własności kodu"
// Automatyczne workflow przeglądów
"Używając GitHub MCP, gdy PR zostanie zatwierdzony:
- Dodaj etykietę 'approved'
- Powiadom autora przez Slack MCP
- Utwórz zadanie Linear do wdrożenia
- Zaktualizuj tablicę projektu"
// Ułatwiaj dyskusje techniczne
"Mając tę debatę o użyciu wzorca Strategy vs
Factory dla tego przypadku użycia, podaj:
1. Plusy i minusy każdego podejścia
2. Przykłady kodu obu implementacji
3. Rekomendacja oparta na naszych wymaganiach
4. Implikacje długoterminowej utrzymywalności"

Przypisywanie recenzentów

Użyj GitHub MCP do auto-przypisywania recenzentów opartego na ekspertyzie

Aktualizacje statusu

Aktualizuj tickety Linear/Jira w miarę postępu przeglądu

Powiadomienia zespołu

Wysyłaj ukierunkowane wiadomości Slack dla pilnych przeglądów

Metryki przeglądów

Śledź czasy obrotu przeglądów w narzędziach

// Orkiestracja kompletnego workflow przeglądu
"Koordynuj przegląd tego PR w naszych narzędziach:
1. Używając GitHub MCP:
- Przypisz recenzentów na podstawie CODEOWNERS
- Dodaj etykiety na podstawie zmienionych plików
- Sprawdź konflikty merge
2. Używając Linear MCP:
- Znajdź powiązane zadania
- Zaktualizuj status zadania na 'W przeglądzie'
- Dodaj link PR do opisu zadania
3. Używając Slack MCP:
- Powiadom przypisanych recenzentów
- Opublikuj na kanale zespołu jeśli wysoki priorytet
- Ustaw przypomnienie na 24 godziny
4. Po ukończeniu przeglądu:
- Zaktualizuj wszystkie systemy śledzące
- Powiadom autora o wymaganych zmianach
- Zaplanuj follow-up jeśli potrzeba"
// Pojedyncze polecenie orkiestruje wszystko
"Nowy PR #123 przesłany. Używając MCP:
- Przeanalizuj zmiany kodu
- Przypisz odpowiednich recenzentów
- Utwórz tickety śledzące
- Wyślij powiadomienia
- Ustaw spotkanie przeglądu jeśli potrzeba"
// Czas: 30 sekund
// Ręczne kroki: 0
// Przełączenia kontekstu: 0

Twórz zasady przeglądu napędzane przez AI specyficzne dla twojego zespołu:

.cursor/review-rules.md
## Standardy przeglądu kodu
### Wydajność
- Wszystkie zapytania do bazy danych muszą używać indeksów
- Kolekcje ponad 1000 elementów potrzebują paginacji
- Operacje async wymagają odpowiedniego anulowania
### Bezpieczeństwo
- Dane wejściowe użytkownika muszą być walidowane i sanityzowane
- Endpointy API potrzebują sprawdzeń autoryzacji
- Wrażliwe dane muszą być szyfrowane w spoczynku
### Testowanie
- Nowe funkcje wymagają testów jednostkowych (>80% pokrycia)
- Zmiany API potrzebują testów integracji
- Poprawki błędów muszą zawierać testy regresji
### Dokumentacja
- Metody publiczne potrzebują komentarzy JSDoc
- Złożone algorytmy wymagają wyjaśnień
- Zmiany API potrzebują aktualizacji README
// Przegląd specyficzny dla frontend
"Przejrzyj ten komponent React pod kątem:
□ Poprawne użycie hooks i zależności
□ Możliwości memoizacji
□ Zgodność z dostępnością (WCAG 2.1)
□ Implementacja responsive design
□ Efektywność zarządzania stanem
□ Możliwość ponownego użycia komponentu
□ Definicje PropTypes/TypeScript
□ Pokrycie error boundary"

Po ukończeniu przeglądu, użyj AI do:

  1. Podsumuj wymagane zmiany

    "Na podstawie komentarzy przeglądu, utwórz priorytetową
    listę wymaganych zmian z:
    - Krytyczne poprawki (blokujące)
    - Ważne ulepszenia (powinny zostać naprawione)
    - Nice-to-have ulepszenia (mogą zostać naprawione)
    Uwzględnij szacowania czasu dla każdego"
  2. Wygeneruj plan implementacji

    "Utwórz krok-po-kroku plan adresowania wszystkich
    opinii przeglądu, uwzględniając:
    - Kolejność implementacji
    - Potencjalne konflikty między zmianami
    - Strategię testowania dla każdej poprawki
    - Ocenę ryzyka"
  3. Twórz zadania follow-up

    "Na podstawie tego przeglądu, jakie zadania follow-up
    powinny zostać utworzone dla:
    - Zidentyfikowanego długu technicznego
    - Sugerowanych optymalizacji wydajności
    - Odnotowanych możliwości refaktoryzacji
    - Znalezionych luk w dokumentacji"

Najlepsze praktyki dla przeglądów wzmocnionych przez AI

Dział zatytułowany „Najlepsze praktyki dla przeglądów wzmocnionych przez AI”

Bądź konkretny

Podawaj kontekst i konkretne wymagania w promptach AI

Weryfikuj sugestie

Zawsze waliduj sugestie AI względem twojego konkretnego przypadku użycia

Zachowaj ludzki dotyk

Używaj AI do wzmocnienia, nie zastąpienia ludzkiego osądu i empatii

Ucz się ciągle

Używaj wyjaśnień AI do poprawy wiedzy i umiejętności zespołu

Centralizuj komunikację

Użyj MCP do utrzymania wszystkich dyskusji przeglądu w jednym miejscu

Automatyzuj rutynowe zadania

Pozwól MCP obsługiwać powiadomienia i aktualizacje statusu

Śledź wszystko

Użyj MCP do utrzymania ścieżek audytu w narzędziach

Redukuj przełączanie kontekstu

Pozostań w Cursor zarządzając workflow zespołowych

Śledź wpływ przeglądów wzmocnionych przez AI:

// Wygeneruj metryki przeglądu
"Przeanalizuj nasze ostatnie 50 PR i podaj metryki dotyczące:
- Średni czas obrotu przeglądu
- Liczba problemów wykrytych w przeglądzie
- Wskaźnik błędów po wdrożeniu
- Trendy jakości kodu
- Najczęstsze tematy opinii przeglądu
Zasugeruj ulepszenia procesów na podstawie wzorców"

Wypróbuj to ćwiczenie praktyczne do praktykowania przeglądu wzmocnionego przez AI:

  1. Wybierz ostatni PR Wybierz zmergowany PR z historii twojego projektu

  2. Przeprowadź przegląd AI Użyj technik z tej lekcji do gruntownego przeglądu

  3. Porównaj z oryginałem Porównaj swoje odkrycia wsparte przez AI z oryginalnymi komentarzami przeglądu

  4. Zidentyfikuj luki Zanotuj co AI wykryło czego przegapili ludzie i na odwrót

  5. Doprecyzuj proces Utwórz niestandardowe prompty dla konkretnych potrzeb twojego zespołu

Programowanie w parach

Naucz się używać AI jako aktywnego partnera programistycznego

Rozwój mobilny

Zastosuj wsparcie AI do rozwoju aplikacji mobilnych

Projektowanie architektury

Użyj AI do architektury systemów i decyzji projektowych