기능

Bob 팁

Bob 팁은 복잡한 함수에 대한 AI 기반 리팩토링 제안으로 코드 품질 문제를 실시간으로 감지합니다. 코딩하면서 기술 부채를 줄이세요.

Bob 팁을 사용하는 이유

  • 실시간 코드 분석: 수동 검사 없이 코드를 작성하는 동안 자동으로 품질 문제를 감지합니다.
  • 품질 문제 조기 발견: 코드 리뷰 전 개발 단계에서 문제 있는 함수를 식별합니다.
  • 기술 부채 감소: 복잡성 및 유지보수성 문제가 발생할 때 바로 해결합니다.
  • 코드 가독성 향상: 복잡한 로직을 단순화하기 위한 구체적인 제안을 받습니다.
  • 테스트 가능성 향상: 테스트를 어렵게 만드는 깊이 중첩된 로직과 과도한 분기를 줄입니다.

작동 방식

Bob 팁은 편집기에서 열려 있는 모든 파일에 대해 지속적인 정적 분석을 수행하여 함수 수준에서 코드 품질 지표를 계산합니다:

분석되는 지표:

  • 순환 복잡도: 코드의 독립적인 경로 수를 측정합니다. 10 이상의 값은 높은 복잡도로 간주됩니다.
  • 유지보수성 지수: 코드를 읽고, 테스트하고, 확장하기 얼마나 쉬운지 평가합니다. 70 이하의 값은 낮은 유지보수성으로 간주됩니다.

자동 감지:

함수가 품질 임계값을 초과하면 Bob이 자동으로:

  1. 편집기에서 함수에 보라색 밑줄을 표시합니다.
  2. Bob Findings 패널에 결과를 추가합니다.
  3. AI 기반 리팩토링 제안을 생성합니다.

Bob 팁은 수동 검사나 설정 없이 백그라운드에서 지속적으로 실행됩니다. 코드를 작성하고 수정하는 동안 자동으로 분석이 이루어집니다.

Bob 팁이 감지하는 항목

Bob 팁은 특히 두 가지 코드 품질 문제 범주를 대상으로 합니다:

높은 순환 복잡도

깊이 중첩된 로직이나 과도한 분기가 있는 함수:

  • 여러 중첩된 if/else 문.
  • 많은 케이스가 있는 복잡한 switch 문.
  • 깊이 중첩된 루프.
  • 과도한 조건 로직.

이러한 패턴은 코드를 이해하고, 테스트하고, 유지보수하기 어렵게 만듭니다.

낮은 유지보수성

읽고, 테스트하고, 확장하기 어려운 함수:

  • 책임이 너무 많은 긴 함수.
  • 관심사 분리 부족.
  • 따라가기 어려운 복잡한 로직.
  • 분해를 통해 개선할 수 있는 코드.

결과 확인 및 수정

편집기에서

Bob이 품질 문제를 식별하면:

  1. 문제 있는 함수가 편집기에서 보라색 밑줄과 함께 표시됩니다.
  2. 밑줄 위에 커서를 올리면 다음 정보가 포함된 툴팁이 표시됩니다:
    • 감지된 특정 품질 문제.
    • AI 기반 리팩토링 제안.
    • Bob과 문제를 논의하는 옵션.

Bob Findings 패널 사용

열려 있는 파일의 모든 결과가 Bob Findings 패널에 집계됩니다:

  • 모든 품질 문제를 중앙에서 확인합니다.
  • 여러 파일의 결과 사이를 이동합니다.
  • 해결한 문제를 추적합니다.
  • '@problems'를 사용하여 채팅에서 결과를 참조합니다. 자세한 내용은 컨텍스트 멘션을 참조하세요.

Bob으로 수정

Bob과 협력하여 코드를 리팩토링합니다:

편집기에서 보라색 밑줄 위에 커서를 올립니다.

툴팁에서 Bob으로 수정을 클릭합니다.

Bob이 문제에 대한 컨텍스트가 포함된 채팅 대화를 엽니다.

리팩토링 접근 방식을 논의하고 함께 솔루션을 구현합니다.

다음과 같은 경우에 이 옵션을 사용하세요:

  • 문제를 더 자세히 이해하고 싶을 때.
  • 다양한 리팩토링 접근 방식을 탐색하고 싶을 때.
  • 더 복잡한 리팩토링 전략을 계획하고 싶을 때.
  • 유사한 상황에 대한 모범 사례를 배우고 싶을 때.

Bob 팁 설정

기능 활성화 또는 비활성화

IBM Bob의 오른쪽 하단 모서리에 있는 Bob - 설정 버튼을 클릭합니다.

Bob findings 탭을 클릭합니다.

Bob 팁을 켜거나 끕니다.

비활성화하면 Bob은 파일 분석을 중지하고 편집기와 Bob Findings 패널에서 기존 결과를 제거합니다.

이 주제는 어떤가요?