---
title: Trabalhando com bases de código grandes
description: Estratégias para navegar e trabalhar com bases de código grandes
---

Trabalhar com bases de código grandes exige estratégias específicas para gerenciar as limitações de contexto e manter a produtividade. Este guia oferece fluxos de trabalho práticos para navegar, entender e modificar projetos grandes de forma eficiente usando o Verdent for VS Code.

---

## Usando o Explorer agent para descoberta da base de código

Suponha que você seja novo em uma base de código grande e precise descobrir onde uma funcionalidade específica está implementada.

<Steps>
  <Step title="Faça perguntas amplas de descoberta">
    ```
    Where is user authentication handled in this codebase?
    ```

    O Verdent delega automaticamente para o Explorer agent, um especialista eficiente em tokens para buscas na base de código.
  </Step>

  <Step title="O Explorer busca com eficiência">
    O Explorer agent:
    - Busca em nomes de arquivos e caminhos
    - Faz grep no conteúdo do código por palavras-chave
    - Analisa padrões arquiteturais
    - Retorna resultados com caminhos de arquivos e trechos de código
  </Step>

  <Step title="Refine sua busca">
    ```
    Show me all files that import the authentication module
    ```

    O Explorer pode realizar buscas de acompanhamento para restringir os resultados.
  </Step>

  <Step title="Paralelize buscas complexas">
    Para uma descoberta abrangente, o Verdent pode executar vários Explorer agents em paralelo:
    - Explorer 1: encontrar a lógica de autenticação
    - Explorer 2: encontrar a lógica de autorização
    - Explorer 3: encontrar o gerenciamento de sessão

    Os resultados chegam mais rápido com a busca paralela.
  </Step>
</Steps>

<Tip>
  **Dicas:**
  - O Explorer agent funciona com eficiência em bases de código grandes sem preencher o contexto principal
  - Vários Explorer agents podem buscar diferentes aspectos simultaneamente
  - Use o Explorer para correspondência de padrões e descoberta arquitetural
  - Os resultados incluem caminhos de arquivos e trechos de código relevantes para contexto
</Tip>

***

## Dividindo tarefas em partes gerenciáveis

Suponha que você esteja trabalhando em uma base de código grande e precise adicionar um recurso que afeta muitos arquivos.

<Steps>
  <Step title="Identifique limites naturais da tarefa">
    Em vez de solicitar tudo de uma vez:

    ```
    Phase 1: Add the data models for the notification system
    ```

    Concentre-se primeiro em um componente autocontido.
  </Step>

  <Step title="Conclua a fase totalmente">
    Trabalhe a Fase 1 completamente, incluindo testes, antes de avançar para a Fase 2. Isso cria um ponto de verificação limpo.
  </Step>

  <Step title="Faça commit do seu progresso">
    ```bash
    git add .
    git commit -m "feat: add notification data models"
    ```

    Fazer commit cria um ponto de rollback seguro.
  </Step>

  <Step title="Limpe o contexto para a próxima fase">
    Para tarefas complexas, limpe o contexto antes de avançar para a próxima fase. Isso garante que o Verdent tenha capacidade de contexto suficiente para manter o desempenho máximo.

    ```
    Phase 2: Build the notification API endpoints using the data models
    ```

    Inicie uma nova sessão com contexto limpo focado apenas na Fase 2.
  </Step>
</Steps>

<Tip>
  **Dicas:**
  - Pontos de quebra naturais evitam o esgotamento do contexto
  - Cada fase deve ser testável de forma independente
  - Fazer commit entre as fases permite experimentação segura
  - Sessões novas mantêm o contexto limpo e focado
</Tip>

***

## Aproveitando o Plan Mode para mudanças em larga escala

Suponha que você precise refatorar um recurso espalhado por dezenas de arquivos em uma base de código grande.

<Steps>
  <Step title="Comece no Plan Mode">
    ```
    Switch to Plan Mode: Refactor the payment processing logic to use a new payment provider across all files
    ```

    O Plan Mode permite análise somente leitura sem consumir contexto com modificações de arquivos.
  </Step>

  <Step title="Use o Explorer para encontrar todos os arquivos afetados">
    ```
    Use the Explorer agent to find all files that reference payment processing
    ```

    Garante que você descubra todos os locais que precisam de atualizações.
  </Step>

  <Step title="Revise o plano abrangente">
    O Verdent apresenta um plano mostrando:
    - Todos os arquivos que exigem mudanças (25 arquivos identificados)
    - Conjunto mínimo de arquivos a incluir no contexto principal
    - Ordem das operações
    - Dependências entre as mudanças

    Revise antes de se comprometer com a abordagem.
  </Step>

  <Step title="Aprove a execução">
    Quando estiver satisfeito com o plano, aprove a execução. O Verdent trabalha nas mudanças de forma metódica.
  </Step>
</Steps>

<Tip>
  **Dicas:**
  - O Plan Mode ajuda a identificar conjuntos mínimos de arquivos antes da execução
  - O Explorer garante que nenhum arquivo seja esquecido em refatorações de larga escala
  - Os planos mostram o escopo claramente antes que o contexto seja consumido
  - Salve os planos em arquivos para documentação e revisão da equipe
</Tip>

***

## Fazendo mudanças coordenadas em muitos arquivos

Suponha que você precise renomear uma função usada em mais de 50 arquivos em uma base de código grande.

<Steps>
  <Step title="Use o Explorer para encontrar todos os usos">
    ```
    Use the Explorer agent to find all files that use the calculateTotal function
    ```

    Identifica todos os arquivos que precisam de atualizações.
  </Step>

  <Step title="Revise o escopo no Plan Mode">
    ```
    In Plan Mode: Rename calculateTotal to computeFinalTotal across all files
    ```

    Veja o escopo completo antes de fazer as mudanças.
  </Step>

  <Step title="Verifique se nenhum arquivo foi esquecido">
    O Verdent mostra todos os 52 arquivos que precisam de atualizações. Revise a lista para garantir completude.
  </Step>

  <Step title="Execute as mudanças coordenadas">
    Aprove o plano. O Verdent atualiza todos os arquivos sistematicamente, garantindo uma renomeação consistente em todos os lugares.
  </Step>

  <Step title="Execute testes para verificar">
    ```
    Run the full test suite to verify all references were updated correctly
    ```

    Os testes detectam quaisquer referências esquecidas.
  </Step>
</Steps>

<Tip>
  **Dicas:**
  - O Explorer garante que nenhum arquivo seja esquecido em mudanças de larga escala
  - O Plan Mode mostra o escopo completo antes da execução
  - Atualizações sistemáticas mantêm a consistência em todos os arquivos
  - Teste de forma abrangente após uma refatoração de larga escala
</Tip>

<Tip>
Mudanças coordenadas em muitos arquivos são mais seguras em fases: atualize uma camada, verifique e depois prossiga para as camadas dependentes.
</Tip>

***

## Perguntas frequentes

<Accordion title="Como sei quando estou me aproximando dos limites de contexto?">
Sinais incluem tempos de resposta mais lentos, sessões rodando por várias horas ou muitos arquivos grandes carregados. Monitore a duração da sessão e a quantidade de arquivos. Quando notar degradação de desempenho, conclua a tarefa atual, faça commit do seu progresso e inicie uma nova sessão com contexto limpo.
</Accordion>

<Accordion title="É seguro deixar o Verdent modificar dezenas de arquivos de uma vez?">
Sim, quando usado corretamente. Sempre use o Plan Mode para revisar o escopo completo primeiro, garanta uma cobertura de testes abrangente e faça commit com frequência entre as fases. Isso permite verificar as mudanças de forma incremental e fazer rollback facilmente, se necessário.
</Accordion>

<Accordion title="Quando devo usar o Explorer agent em vez de carregar arquivos diretamente?">
Use o Explorer agent para tarefas de descoberta e busca sem consumir o contexto principal. Carregue arquivos diretamente com @-mentions apenas quando precisar modificá-los. O Explorer é ideal para perguntas do tipo "encontre todos os arquivos que...", enquanto os @-mentions servem para tarefas do tipo "atualize este arquivo específico".
</Accordion>

<Accordion title="Qual preset de modelo é melhor para trabalhar em bases de código grandes?">
Use o preset Performance para operações complexas em múltiplos arquivos e refatorações. Use o preset Efficiency para buscas e tarefas de descoberta simples. O Performance oferece mais capacidade de raciocínio para mudanças coordenadas, enquanto o Efficiency é mais rápido e econômico para exploração.
</Accordion>

***

## Veja também

<CardGroup cols={2}>
  <Card title="Exemplos de tarefas multietapas" icon="list-check" href="/docs/verdent-for-vscode/common-workflows/multi-step-tasks">
    Fluxos de trabalho complexos de múltiplas etapas e gerenciamento de tarefas
  </Card>

  <Card title="Boas práticas" icon="star" href="/docs/verdent-for-vscode/best-practices/context">
    Estratégias de gerenciamento e otimização de contexto
  </Card>
</CardGroup>
