기능
Bob 팁
Bob 팁은 복잡한 함수에 대한 AI 기반 리팩토링 제안으로 코드 품질 문제를 실시간으로 감지합니다. 코딩하면서 기술 부채를 줄이세요.
Bob 팁을 사용하는 이유
- 실시간 코드 분석: 수동 검사 없이 코드를 작성하는 동안 자동으로 품질 문제를 감지합니다.
- 품질 문제 조기 발견: 코드 리뷰 전 개발 단계에서 문제 있는 함수를 식별합니다.
- 기술 부채 감소: 복잡성 및 유지보수성 문제가 발생할 때 바로 해결합니다.
- 코드 가독성 향상: 복잡한 로직을 단순화하기 위한 구체적인 제안을 받습니다.
- 테스트 가능성 향상: 테스트를 어렵게 만드는 깊이 중첩된 로직과 과도한 분기를 줄입니다.
작동 방식
Bob 팁은 편집기에서 열려 있는 모든 파일에 대해 지속적인 정적 분석을 수행하여 함수 수준에서 코드 품질 지표를 계산합니다:
분석되는 지표:
- 순환 복잡도: 코드의 독립적인 경로 수를 측정합니다. 10 이상의 값은 높은 복잡도로 간주됩니다.
- 유지보수성 지수: 코드를 읽고, 테스트하고, 확장하기 얼마나 쉬운지 평가합니다. 70 이하의 값은 낮은 유지보수성으로 간주됩니다.
자동 감지:
함수가 품질 임계값을 초과하면 Bob이 자동으로:
- 편집기에서 함수에 보라색 밑줄을 표시합니다.
- Bob Findings 패널에 결과를 추가합니다.
- AI 기반 리팩토링 제안을 생성합니다.
Bob 팁은 수동 검사나 설정 없이 백그라운드에서 지속적으로 실행됩니다. 코드를 작성하고 수정하는 동안 자동으로 분석이 이루어집니다.
Bob 팁이 감지하는 항목
Bob 팁은 특히 두 가지 코드 품질 문제 범주를 대상으로 합니다:
높은 순환 복잡도
깊이 중첩된 로직이나 과도한 분기가 있는 함수:
- 여러 중첩된 if/else 문.
- 많은 케이스가 있는 복잡한 switch 문.
- 깊이 중첩된 루프.
- 과도한 조건 로직.
이러한 패턴은 코드를 이해하고, 테스트하고, 유지보수하기 어렵게 만듭니다.
낮은 유지보수성
읽고, 테스트하고, 확장하기 어려운 함수:
- 책임이 너무 많은 긴 함수.
- 관심사 분리 부족.
- 따라가기 어려운 복잡한 로직.
- 분해를 통해 개선할 수 있는 코드.
결과 확인 및 수정
편집기에서
Bob이 품질 문제를 식별하면:
- 문제 있는 함수가 편집기에서 보라색 밑줄과 함께 표시됩니다.
- 밑줄 위에 커서를 올리면 다음 정보가 포함된 툴팁이 표시됩니다:
- 감지된 특정 품질 문제.
- AI 기반 리팩토링 제안.
- Bob과 문제를 논의하는 옵션.
Bob Findings 패널 사용
열려 있는 파일의 모든 결과가 Bob Findings 패널에 집계됩니다:
- 모든 품질 문제를 중앙에서 확인합니다.
- 여러 파일의 결과 사이를 이동합니다.
- 해결한 문제를 추적합니다.
- '@problems'를 사용하여 채팅에서 결과를 참조합니다. 자세한 내용은 컨텍스트 멘션을 참조하세요.
Bob으로 수정
Bob과 협력하여 코드를 리팩토링합니다:
편집기에서 보라색 밑줄 위에 커서를 올립니다.
툴팁에서 Bob으로 수정을 클릭합니다.
Bob이 문제에 대한 컨텍스트가 포함된 채팅 대화를 엽니다.
리팩토링 접근 방식을 논의하고 함께 솔루션을 구현합니다.
다음과 같은 경우에 이 옵션을 사용하세요:
- 문제를 더 자세히 이해하고 싶을 때.
- 다양한 리팩토링 접근 방식을 탐색하고 싶을 때.
- 더 복잡한 리팩토링 전략을 계획하고 싶을 때.
- 유사한 상황에 대한 모범 사례를 배우고 싶을 때.
Bob 팁 설정
기능 활성화 또는 비활성화
IBM Bob의 오른쪽 하단 모서리에 있는 Bob - 설정 버튼을 클릭합니다.
Bob findings 탭을 클릭합니다.
Bob 팁을 켜거나 끕니다.
비활성화하면 Bob은 파일 분석을 중지하고 편집기와 Bob Findings 패널에서 기존 결과를 제거합니다.
이 주제는 어떤가요?