Praca z dużymi bazami kodu wymaga innych strategii niż małe projekty. Te 15 wskazówek pomoże ci wykorzystać unikalne możliwości Claude Code dla rozwoju na skalę przedsiębiorstwa, od milionów linii monorepo po złożone architektury mikrousług.
Claude Code używa agentowego wyszukiwania do automatycznego zrozumienia całej struktury twojego projektu:
# Zamiast ręcznego wyjaśniania struktury projektu
"Wyjaśnij jak działa system uwierzytelniania"
# 1. Wyszukuje pliki związane z auth
# 2. Identyfikuje kluczowe komponenty
# 5. Dostarcza kompleksowe wyjaśnienie
Możliwości wyszukiwania agentowego
Rozpoznawanie wzorców : Znajduje podobne wzorce kodu w plikach
Śledzenie zależności : Rozumie łańcuchy importów i relacje
Budowanie kontekstu : Automatycznie zbiera odpowiedni kontekst
Inteligentne filtrowanie : Skupia się na ważnych plikach, ignoruje szum
Odniesienia krzyżowe : Łączy powiązane funkcjonalności między modułami
Przykład z rzeczywistego świata od zespołu infrastruktury danych Anthropic:
# Wprowadzanie nowego pracownika
"Pomóż mi zrozumieć jak dane płyną z naszego API do dashboardów"
# Odpowiedź Claude obejmuje:
# - Identyfikację endpointów API
# - Pipeline transformacji danych
# - Relacje schematu bazy danych
# - Wzorce zapytań dashboardu
# - Odpowiednią dokumentację CLAUDE.md
Claude Code doskonale radzi sobie tam, gdzie inne narzędzia zawodzą z masywymi plikami:
# Przykład komponentu React Builder.io
"Zaktualizuj obsługę zdarzeń w naszym komponencie 18,000 linii"
# - Znajduje konkretną funkcję
# - Wprowadza precyzyjne zmiany
# - Obsługuje złożony stan
# Dla optymalnej wydajności z dużymi plikami:
# 1. Bądź konkretny co do lokalizacji
"Zaktualizuj funkcję handleSubmit około linii 8500"
# 2. Używaj wzorców wyszukiwania
"Znajdź wszystkie wystąpienia przestarzałych wywołań API"
# 3. Pracuj inkrementalnie
"Najpierw pokaż mi logikę uwierzytelniania"
"Teraz zaktualizuj obsługę błędów"
Pozwól Claude nawigować po złożonych bazach kodu za ciebie:
"Pokaż mi wszystkie miejsca gdzie obsługujemy uprawnienia użytkowników"
# Zrozumienie architektury
"Jak nasze mikrousługi się komunikują?"
# Lokalizacja funkcjonalności
"Gdzie jest logika walidacji email?"
"Co zależy od klasy UserService?"
"Znajdź wszystkie zapytania do bazy danych, które mogą mieć problemy N+1"
Przykłady zaawansowanego wyszukiwania:
# Złożone dopasowywanie wzorców
"Znajdź wszystkie komponenty React, które bezpośrednio dostają się do localStorage"
"Sprawdź czy jakiekolwiek komponenty frontendu importują z modułów backendu"
"Zlokalizuj wszystkie miejsca gdzie konstruujemy zapytania SQL"
"Znajdź wszystkie synchroniczne operacje plikowe w naszych async handlerach"
Strukturyzuj duże projekty refaktoryzacji efektywnie:
Początkowa analiza
"Przeanalizuj aktualny system uwierzytelniania i zidentyfikuj obszary do ulepszenia"
Stwórz plan
"Stwórz plan krok po kroku migracji z uwierzytelniania opartego na sesji na JWT"
Implementuj inkrementalnie
"Krok 1: Stwórz nowe funkcje narzędziowe JWT"
"Krok 2: Zaktualizuj model użytkownika o obsługę refresh tokenów"
"Krok 3: Zmodyfikuj endpoint logowania"
Weryfikuj każdy krok
"Napisz testy dla narzędzi JWT"
"Zweryfikuj kompatybilność wsteczną"
Strategia rozbijania zadań
Limit rozmiaru : Utrzymuj każde zadanie poniżej 200 linii zmian
Najpierw testy : Pisz testy przed implementacją
Punkt kontrolny : Commituj po każdym udanym kroku
Plan wycofania : Zawsze miej sposób na cofnięcie
Dokumentuj : Aktualizuj CLAUDE.md decyzjami
Optymalizuj wydajność Claude’a z ukierunkowanym kontekstem:
# Mniej efektywne: Niejasna prośba
"Optymalizuj naszą aplikację"
# Bardziej efektywne: Skupiona prośba
"Optymalizuj zapytania do bazy danych w klasie UserRepository"
# Jeszcze lepiej: Konkretny kontekst
"Metoda getUsersWithOrders w UserRepository ma problemy zapytań N+1.
Zoptymalizuj ją używając eager loading."
Strategie kontekstu dla dużych baz kodu:
10k linii : Słodki punkt Claude’a dla kompleksowego zrozumienia
50k linii : Nadal zarządzalne, ale skup się na konkretnych modułach
100k+ linii : Podziel na logiczne segmenty i pracuj inkrementalnie
Uruchom równoległe instancje Claude Code dla maksymalnej efektywności:
# Terminal 1: Rozwój frontendu
claude --add-dir ./frontend
"Zaimplementuj nowy dashboard użytkownika"
# Terminal 2: API backendu
claude --add-dir ./backend
"Stwórz endpointy REST dla danych dashboardu"
# Terminal 3: Migracje bazy danych
claude --add-dir ./database
"Zaprojektuj schemat dla funkcji dashboardu"
"Napisz testy integracyjne dla nowych funkcji"
Korzyści z równoległych instancji:
Brak przełączania kontekstu : Każda instancja pozostaje skupiona
Symulacja zespołu : Pracuj jak zespół programistów
Szybszy rozwój : Wykonuj zadania jednocześnie
Lepsza organizacja : Wyraźny rozdział obowiązków
Używaj systemu plików do współpracy między instancjami:
# Instancja 1: Generuj typy
"Wygeneruj interfejsy TypeScript z naszych odpowiedzi API"
# Instancja 2: Używaj wygenerowanych typów
"Stwórz hooki React używając typów w shared/types/"
# Instancja 3: Dokumentacja
"Udokumentuj typy w shared/types/ z przykładami"
Wzorce współdzielonego workspace
│ ├── generated/ # Kod wygenerowany przez AI
│ ├── templates/ # Implementacje referencyjne
│ └── workspace/ # Współdzielone pliki robocze
│ └── ai-sessions/ # Dokumentacja sesji
Przepływ pracy z życia codziennego:
# Pobierz implementację referencyjną
"Skopiuj logikę uwierzytelniania z tego popularnego pakietu npm do
.claude/templates/ żebyśmy mogli referencjonować ich wzorce"
"Zaimplementuj podobne uwierzytelnianie ale dostosowane do naszych wzorców"
Strukturyzuj dokumentację dla dużych monorepo:
├── CLAUDE.md # Globalne reguły i wzorce
│ │ ├── CLAUDE.md # Specyficzne dla frontendu
│ │ └── CLAUDE.md # Wytyczne komponentów
│ │ ├── CLAUDE.md # Wzorce backendowe
│ │ │ └── CLAUDE.md # Wzorce serwisów
│ │ └── CLAUDE.md # Reguły modeli danych
│ └── CLAUDE.md # Reguły współdzielonego kodu
Przykład hierarchicznej dokumentacji:
- Mikrousługi z współdzielonymi bibliotekami
- Komunikacja sterowana zdarzeniami
- 100% pokrycie testami dla współdzielonego kodu
- Brak zależności cyklicznych
- Uwierzytelnianie użytkowników
- Biblioteka współdzielonego auth
- Wzorzec Repository dla dostępu do danych
- JWT do uwierzytelniania
- Event sourcing do audytu
Pomóż Claude zrozumieć projekt twojego systemu:
# Dokumentacja architektury
A[API Gateway] --> B[User Service]
Wzorzec Repository : Cały dostęp do bazy danych przez repozytoria
CQRS : Oddzielne modele odczytu/zapisu dla złożonych domen
Event Sourcing : Ścieżka audytu dla krytycznych operacji
Circuit Breaker : Do wywołań zewnętrznych usług
Wzorzec Saga : Do rozproszonych transakcji
Sync : REST API ze specyfikacjami OpenAPI
Async : RabbitMQ dla zdarzeń
Real-time : WebSockets do aktualizacji na żywo
Klient → API Gateway (uwierzytelnianie)
Gateway → Mikrousługa (autoryzowane żądanie)
Usługa → Baza danych (operacja na danych)
Usługa → Magistrala zdarzeń (zmiana stanu)
Inne usługi → Magistrala zdarzeń (reakcja na zmiany)
### Wskazówka 45: Używaj zapytań świadomych kontekstu
Zadawaj zaawansowane pytania o relacje w kodzie:
"Pokaż mi wszystkie serwisy zależne od modelu User"
"Co by się zepsuło, gdybym zmienił sygnaturę metody authenticate?"
"Znajdź zależności cykliczne w naszej strukturze importów"
"Zidentyfikuj wszystkie zapytania do bazy danych w gorących ścieżkach kodu"
"Znajdź operacje synchroniczne, które mogłyby być async"
"Pokaż mi wszystkie niebuforowane kosztowne obliczenia"
"Znajdź wszystkie wejścia użytkownika, które nie są walidowane"
"Pokaż mi wszędzie gdzie konstruujemy dynamiczne SQL"
"Zidentyfikuj eksponowane wrażliwe dane w odpowiedziach API"
"Zweryfikuj czy wszystkie serwisy podążają za naszym wzorcem repository"
"Znajdź bezpośredni dostęp do bazy danych poza repozytoriami"
"Sprawdź czy jakikolwiek kod frontendu importuje moduły backendowe"
Zarządzaj użyciem tokenów w dużych projektach:
"Pracuj tylko nad modułem uwierzytelniania"
# 3. Używaj konkretnych referencji plików
# Zamiast: "plik serwisu logowania"
# 5. Usuń niepotrzebne pliki
"Ignoruj pliki testowe dla tego zadania"
Typowe użycie tokenów według zadań:
- Prosta naprawa błędu: 2K-5K tokenów
- Implementacja funkcji: 10K-20K tokenów
- Duża refaktoryzacja: 50K-100K tokenów
- Analiza architektury: 20K-50K tokenów
- Używaj Sonnet do rutynowych zadań
- Zarezerwuj Opus do złożonych prac
- Czyść między niepowiązanymi zadaniami
- Skupiaj się na konkretnych modułach
Dokumentuj każdy główny moduł kompleksowo:
# Dokumentacja modułu płatności
Obsługuje całe przetwarzanie płatności włączając karty kredytowe,
PayPal i płatności kryptowalutami.
- `payment.service.ts` - Główny orchestrator serwisu
- `processors/` - Implementacje procesorów płatności
- `models/transaction.model.ts` - Model danych transakcji
- `webhooks/` - Webhooki dostawców płatności
## Krytyczna logika biznesowa
1. ** Logika ponownych prób ** : 3 próby z wykładniczym backoff
2. ** Idempotentność ** : Używaj transaction_id aby zapobiec duplikatom
3. ** Ścieżka audytu ** : Każda operacja logowana do tabeli audit_log
4. ** Zwroty ** : Max 90 dni, wymaga zatwierdzenia managera
- User Service: Do danych klientów
- Order Service: Do realizacji zamówień
- Notification Service: Do paragonów płatności
- Audit Service: Do logowania compliance
- Testy jednostkowe: Mockuj wszystkich zewnętrznych dostawców
- Testy integracyjne: Używaj środowisk sandbox
- Testy obciążeniowe: Minimum 1000 TPS
- Testy bezpieczeństwa: Wymagana zgodność PCI
1. Timeout webhooków - implementuj przetwarzanie async
2. Konwersja walut - buforuj kursy na 1 godzinę
3. Nieudane płatności - jasna komunikacja z użytkownikiem
4. Częściowe zwroty - złożone zarządzanie stanem
Podchodź do dużej refaktoryzacji systematycznie:
Przeanalizuj aktualny stan
"Przeanalizuj system uwierzytelniania i stwórz plan refaktoryzacji"
Stwórz sieć bezpieczeństwa
"Napisz kompleksowe testy dla aktualnego zachowania uwierzytelniania"
Refaktoryzuj małymi krokami
"Krok 1: Wyodrębnij logikę uwierzytelniania do oddzielnego serwisu"
"Krok 2: Stwórz interfejsy dla dostawców uwierzytelniania"
"Krok 3: Zaimplementuj dostawcę JWT"
"Krok 4: Dodaj dostawców OAuth"
Utrzymuj kompatybilność wsteczną
"Stwórz warstwę adaptera dla starego API uwierzytelniania"
Strategia migracji
"Stwórz plan migracji dla istniejących sesji"
Reguły refaktoryzacji inkrementalnej
Nigdy nie łam istniejącej funkcjonalności
Każdy krok powinien być wdrażalny
Testy muszą przechodzić po każdej zmianie
Dokumentuj decyzje w CLAUDE.md
Utrzymuj PR poniżej 400 linii
Używaj Claude do znajdowania wzorców i niespójności:
# Znajdź niespójne wzorce
"Znajdź wszystkie różne wzorce obsługi błędów w naszej bazie kodu"
"Pokaż mi wszystkie różne sposoby walidacji adresów email"
"Zidentyfikuj niespójne konwencje nazewnictwa"
# Zlokalizuj zduplikowany kod
"Znajdź podobne wzorce kodu, które mogłyby być zrefaktoryzowane"
"Pokaż mi zduplikowaną logikę biznesową między serwisami"
# Naruszenia architektury
"Znajdź wszystkie miejsca gdzie warstwa prezentacji bezpośrednio dostaje się do bazy danych"
"Pokaż mi serwisy wywołujące inne serwisy synchronicznie"
"Znajdź wszystkie wzorce zapytań N+1"
"Zlokalizuj wszystkie synchroniczne I/O w obsłudze żądań"
"Pokaż mi wszystkie niebuforowane zapytania do bazy danych"
Przykład z życia:
# Użycie zespołu bezpieczeństwa Anthropic
"Znajdź wszystkie różne sposoby konstruowania zapytań SQL i zidentyfikuj
które mogą być podatne na injection"
# - 15 różnych wzorców zapytań
# - 3 potencjalnie podatne konstrukcje
# - Sugeruje refaktoryzację do zapytań sparametryzowanych
Opracuj systematyczne podejścia do zrozumienia dużych baz kodu:
# 1. Zrozumienie wysokiego poziomu
"Co robi ten projekt? Wyjaśnij główny cel i architekturę"
# 2. Zidentyfikuj punkty wejścia
"Pokaż mi główne punkty wejścia dla tej aplikacji"
# 3. Śledź krytyczne ścieżki
"Prześledź przepływ żądania logowania użytkownika"
"Wyjaśnij główne modele danych i ich relacje"
# 5. Zidentyfikuj kluczowe wzorce
"Jakie wzorce projektowe są używane w tej bazie kodu?"
# 1. Zlokalizuj kod funkcji
"Gdzie jest zaimplementowane przetwarzanie płatności?"
"Od czego zależy system płatności?"
# 3. Znajdź powiązane testy
"Pokaż mi wszystkie testy dla przetwarzania płatności"
# 4. Sprawdź dokumentację
"Czy jest dokumentacja dla systemu płatności?"
# 5. Zidentyfikuj przypadki graniczne
"Jakie przypadki graniczne obsługuje system płatności?"
"Wyjaśnij jak działa przepływ uwierzytelniania użytkownika"
# 2. Zlokalizuj obszar problemu
"Gdzie może wystąpić błąd logowania?"
# 3. Sprawdź ostatnie zmiany
"Co zmieniło się ostatnio w uwierzytelnianiu?"
# 4. Znajdź podobne problemy
"Czy są podobne wzorce, które mogą mieć ten sam błąd?"
"Zasugeruj poprawki dla problemu z timeout uwierzytelniania"
Lista kontrolna dużych baz kodu
✅ Używaj hierarchicznych plików CLAUDE.md
✅ Uruchamiaj wiele równoległych instancji
✅ Skupiaj się na konkretnych modułach na sesję
✅ Czyść kontekst między niepowiązanymi zadaniami
✅ Dokumentuj decyzje architektoniczne
✅ Twórz systematyczne przepływy pracy eksploracji
✅ Używaj podejść refaktoryzacji inkrementalnej
✅ Wykorzystuj rozpoznawanie wzorców
✅ Utrzymuj kompleksowe testy
✅ Monitoruj użycie tokenów za pomocą /cost
Kluczowe zasady sukcesu:
Myśl systemowo : Rozumiej relacje i zależności
Pracuj inkrementalnie : Małe, zweryfikowane zmiany
Utrzymuj kontekst : Używaj plików CLAUDE.md efektywnie
Wykorzystuj paralelizm : Wiele instancji dla różnych problemów
Ufaj wyszukiwaniu : Pozwól Claude znajdować wzorce, które możesz przegapić
Po opanowaniu strategii dla dużych baz kodu, jesteś gotowy zoptymalizować swój ogólny przepływ pracy rozwoju. Przejdź do Optymalizacja przepływu pracy , aby przekształcić sposób podejścia do rozwoju oprogramowania z asystą AI.