Recursos

Dicas do Bob

As dicas do Bob detectam problemas de qualidade de código em tempo real com sugestões de refatoração impulsionadas por IA para funções complexas. Reduza a dívida técnica enquanto programa.

Por que usar as dicas do Bob?

  • Análise de código em tempo real: Detecta automaticamente problemas de qualidade enquanto você escreve código, sem varreduras manuais.
  • Detectar problemas de qualidade cedo: Identifica funções problemáticas durante o desenvolvimento, antes da revisão de código.
  • Reduzir a dívida técnica: Trate problemas de complexidade e manutenibilidade à medida que surgem.
  • Melhorar a legibilidade do código: Receba sugestões específicas para simplificar lógica complexa.
  • Melhorar a testabilidade: Reduza lógica profundamente aninhada e ramificações excessivas que dificultam os testes.

Como funciona

As dicas do Bob realizam análise estática contínua de todos os arquivos abertos no seu editor, calculando métricas de qualidade de código no nível da função:

Métricas analisadas:

  • Complexidade ciclomática: Mede o número de caminhos independentes no seu código. Um valor de 10 ou mais é considerado alta complexidade.
  • Índice de manutenibilidade: Avalia quão fácil é ler, testar e estender seu código. Um valor de 70 ou menos é considerado baixa manutenibilidade.

Detecção automática:

Quando uma função ultrapassa os limites de qualidade, o Bob automaticamente:

  1. Marca a função com um sublinhado roxo no seu editor.
  2. Adiciona o resultado ao painel Bob Findings.
  3. Gera sugestões de refatoração impulsionadas por IA.

As dicas do Bob rodam continuamente em segundo plano sem exigir varreduras manuais ou configurações. A análise ocorre automaticamente enquanto você escreve e modifica código.

O que as dicas do Bob detectam

As dicas do Bob visam especificamente duas categorias de problemas de qualidade de código:

Alta complexidade ciclomática

Funções com lógica profundamente aninhada ou ramificações excessivas:

  • Várias instruções if/else aninhadas.
  • Instruções switch complexas com muitos casos.
  • Loops profundamente aninhados.
  • Lógica condicional excessiva.

Esses padrões tornam o código difícil de entender, testar e manter.

Baixa manutenibilidade

Funções difíceis de ler, testar ou estender:

  • Funções longas com muitas responsabilidades.
  • Separação deficiente de preocupações.
  • Lógica complexa difícil de seguir.
  • Código que se beneficiaria de decomposição.

Ver e corrigir resultados

No editor

Quando o Bob identifica um problema de qualidade:

  1. A função problemática aparece com um sublinhado roxo no seu editor.
  2. Passe o cursor sobre o sublinhado para ver um tooltip com:
    • O problema de qualidade específico detectado.
    • Sugestões de refatoração impulsionadas por IA.
    • Opções para discutir o problema com o Bob.

Usando o painel Bob Findings

Todos os resultados dos seus arquivos abertos são agregados no painel Bob Findings:

  • Veja todos os problemas de qualidade em um local centralizado.
  • Navegue entre resultados de múltiplos arquivos.
  • Acompanhe quais problemas você abordou.
  • Faça referência a resultados no chat usando '@problems'. Para mais informações, consulte menções de contexto.

Corrigir com o Bob

Colabore com o Bob para refatorar seu código:

Passe o cursor sobre o sublinhado roxo no seu editor.

Clique em Corrigir com Bob no tooltip.

O Bob abre uma conversa de chat com contexto sobre o problema.

Discuta a abordagem de refatoração e implemente a solução juntos.

Use esta opção quando quiser:

  • Entender o problema com mais detalhes.
  • Explorar diferentes abordagens de refatoração.
  • Planejar uma estratégia de refatoração mais complexa.
  • Aprender as melhores práticas para situações similares.

Configurar as dicas do Bob

Ativar ou desativar a funcionalidade

Clique no botão Bob - Configurações no canto inferior direito do IBM Bob.

Clique na aba Bob findings.

Ative ou desative as Dicas do Bob.

Quando desativado, o Bob para de analisar arquivos e remove os resultados existentes do editor e do painel Bob Findings.

Como está este tópico?