Wskazówki Bob
Wskazówki Bob wykrywają problemy z jakością kodu w czasie rzeczywistym, dostarczając sugestie refaktoryzacji oparte na AI dla złożonych funkcji. Redukuj dług techniczny podczas pisania kodu.
Dlaczego używać wskazówek Bob?
- Analiza kodu w czasie rzeczywistym: Automatycznie wykrywa problemy z jakością podczas pisania kodu, bez ręcznego skanowania.
- Wczesne wykrywanie problemów z jakością: Identyfikuje problematyczne funkcje podczas tworzenia, przed przeglądem kodu.
- Redukowanie długu technicznego: Rozwiązuj problemy ze złożonością i utrzymywalnością w miarę ich pojawiania się.
- Poprawa czytelności kodu: Otrzymuj konkretne sugestie upraszczania złożonej logiki.
- Poprawa testowalności: Redukuj głęboko zagnieżdżoną logikę i nadmierne rozgałęzienia, które utrudniają testowanie.
Jak to działa
Wskazówki Bob przeprowadzają ciągłą analizę statyczną wszystkich otwartych plików w edytorze, obliczając metryki jakości kodu na poziomie funkcji:
Analizowane metryki:
- Złożoność cyklomatyczna: Mierzy liczbę niezależnych ścieżek w kodzie. Wartość 10 lub wyższa jest uważana za wysoką złożoność.
- Indeks utrzymywalności: Ocenia łatwość czytania, testowania i rozszerzania kodu. Wartość 70 lub niższa jest uważana za niską utrzymywalność.
Automatyczne wykrywanie:
Gdy funkcja przekroczy progi jakości, Bob automatycznie:
- Oznacza funkcję fioletowym podkreśleniem w edytorze.
- Dodaje wynik do panelu Bob Findings.
- Generuje sugestie refaktoryzacji oparte na AI.
Wskazówki Bob działają ciągle w tle bez konieczności ręcznego skanowania ani konfiguracji. Analiza odbywa się automatycznie podczas pisania i modyfikowania kodu.
Co wykrywają wskazówki Bob
Wskazówki Bob celują szczególnie w dwie kategorie problemów z jakością kodu:
Wysoka złożoność cyklomatyczna
Funkcje z głęboko zagnieżdżoną logiką lub nadmiernymi rozgałęzieniami:
- Wiele zagnieżdżonych instrukcji if/else.
- Złożone instrukcje switch z wieloma przypadkami.
- Głęboko zagnieżdżone pętle.
- Nadmierna logika warunkowa.
Te wzorce sprawiają, że kod jest trudny do zrozumienia, testowania i utrzymania.
Niska utrzymywalność
Funkcje, które są trudne do czytania, testowania lub rozszerzania:
- Długie funkcje z zbyt wieloma odpowiedzialnościami.
- Słabe rozdzielenie odpowiedzialności.
- Złożona logika, którą trudno śledzić.
- Kod, który skorzystałby na dekompozycji.
Przeglądanie i naprawianie wyników
W edytorze
Gdy Bob zidentyfikuje problem z jakością:
- Problematyczna funkcja pojawia się z fioletowym podkreśleniem w edytorze.
- Najedź kursorem na podkreślenie, aby zobaczyć tooltip z:
- Wykrytym konkretnym problemem jakości.
- Sugestiami refaktoryzacji opartymi na AI.
- Opcjami omówienia problemu z Bobem.
Używanie panelu Bob Findings
Wszystkie wyniki z otwartych plików są agregowane w panelu Bob Findings:
- Wyświetlaj wszystkie problemy z jakością w jednym scentralizowanym miejscu.
- Nawiguj między wynikami w wielu plikach.
- Śledź, które problemy zostały rozwiązane.
- Odwołuj się do wyników w czacie używając '@problems'. Więcej informacji znajdziesz w wzmianki kontekstowe.
Naprawianie z Bobem
Współpracuj z Bobem, aby refaktoryzować kod:
Najedź kursorem na fioletowe podkreślenie w edytorze.
Kliknij Napraw z Bobem w tooltipie.
Bob otwiera rozmowę czatu z kontekstem problemu.
Omów podejście do refaktoryzacji i razem zaimplementuj rozwiązanie.
Użyj tej opcji, gdy chcesz:
- Lepiej zrozumieć problem.
- Poznać różne podejścia do refaktoryzacji.
- Zaplanować bardziej złożoną strategię refaktoryzacji.
- Nauczyć się najlepszych praktyk dla podobnych sytuacji.
Konfigurowanie wskazówek Bob
Włączanie lub wyłączanie funkcji
Kliknij przycisk Bob - Ustawienia w prawym dolnym rogu IBM Bob.
Kliknij zakładkę Bob findings.
Włącz lub wyłącz Wskazówki Bob.
Po wyłączeniu Bob przestaje analizować pliki i usuwa istniejące wyniki z edytora i panelu Bob Findings.
Wzmianki kontekstowe (Context mentions)
Odwołuj się do konkretnych elementów swojego projektu bezpośrednio w rozmowach z Bobem, używając @mentions, aby uzyskać precyzyjną pomoc uwzględniającą kontekst.
Slash commands
Twórz niestandardowe slash commands, aby automatyzować powtarzające się zadania, uruchamiać wbudowane polecenia i rozszerzać funkcjonalność Boba za pomocą prostych plików markdown.