isinstance 호출을 합치거나 if 블록을 삼항 연산자로 바꾸는 등, 더 간결하게 작성할 수 있는 Python 코드를 찾아내는 flake8 플러그인입니다.
PyCQA/mccabe
함수의 McCabe 순환 복잡도를 계산하고, 지나치게 복잡한 코드를 표시하는 flake8 플러그인으로 실행되는 Python 도구입니다.
- 스타
- 684
- 포크
- 70
- 열린 이슈
- 12
- 마지막 커밋
- 26일 전
어떤 프로젝트인가요?
mccabe는 Python 코드의 McCabe(순환) 복잡도를 측정합니다. 이는 함수에서 서로 독립적으로 실행될 수 있는 경로의 수입니다. 점수가 높으면 읽고 테스트하기 어려운 함수일 가능성이 큽니다. 독립 실행 모듈로 파일을 대상으로 실행하면, 지정한 임계값을 넘는 복잡도를 가진 각 함수를 출력합니다.
Python 코드 검사기인 flake8의 플러그인으로도 사용할 수 있습니다. 설치 후에는 플러그인이 기본적으로 비활성화되어 있으며, --max-complexity 옵션을 사용해 활성화하면 복잡도가 지정한 값을 초과하는 함수마다 C901 경고를 표시합니다.
이 프로젝트는 PyCQA 조직에서 관리하며 최신 Python 3 버전을 지원합니다. 0.7.0 릴리스부터는 Python 3.6 미만 버전 지원이 중단되었습니다.
핵심 기능
- 01Python 함수와 메서드의 McCabe 순환 복잡도를 계산합니다.
- 02--min 임계값을 사용해 python -m mccabe 명령으로 독립 실행할 수 있습니다.
- 03--max-complexity 옵션으로 flake8과 연동하고 C901 경고를 표시합니다.
- 04async/await 구문과 최신 Python 3 버전을 지원합니다.
활용 사례
- 코드 리뷰나 지속적 통합 과정에서 지나치게 복잡한 함수를 표시합니다.
- flake8 설정을 통해 Python 프로젝트 전체에 복잡도 제한을 적용합니다.
- 리팩터링에 앞서 모듈에서 복잡도가 가장 높은 함수를 찾습니다.
빠른 시작
- 1
pip으로 PyPI에서 mccabe를 설치합니다
pip install mccabe - 2
Python 파일에 독립 실행형 검사기를 실행해 복잡도가 가장 높은 함수를 나열합니다
python -m mccabe --min 5 mccabe.py - 3
최대 복잡도를 설정해 flake8 플러그인으로 사용합니다
flake8 --max-complexity 10 coolproject
사용 전 알아둘 점
- 프로젝트 메타데이터에 라이선스가 명확히 명시되어 있지 않으므로 상업적 이용 전에 라이선스 파일을 확인하세요.
- 플러그인 검사는 기본적으로 비활성화되어 있으며 --max-complexity로 활성화해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- mccabe은(는) 무엇인가요?
- 함수의 McCabe 순환 복잡도를 계산하고, 지나치게 복잡한 코드를 표시하는 flake8 플러그인으로 실행되는 Python 도구입니다. mccabe는 Python 코드의 McCabe(순환) 복잡도를 측정합니다. 이는 함수에서 서로 독립적으로 실행될 수 있는 경로의 수입니다. 점수가 높으면 읽고 테스트하기 어려운 함수일 가능성이 큽니다. 독립 실행 모듈로 파일을 대상으로 실행하면, 지정한 임계값을 넘는 복잡도를 가진 각 함수를 출력합니다.
- mccabe은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- mccabe은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- mccabe은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. mccabe의 마지막 커밋은 2026년 10월 12일입니다.
- mccabe은(는) 어디에 사용할 수 있나요?
- 코드 리뷰나 지속적 통합 과정에서 지나치게 복잡한 함수를 표시합니다. flake8 설정을 통해 Python 프로젝트 전체에 복잡도 제한을 적용합니다. 리팩터링에 앞서 모듈에서 복잡도가 가장 높은 함수를 찾습니다.
- mccabe는 어떻게 설치하나요?
- pip으로 PyPI에서 mccabe를 설치합니다: pip install mccabe Python 파일에 독립 실행형 검사기를 실행해 복잡도가 가장 높은 함수를 나열합니다: python -m mccabe --min 5 mccabe.py 최대 복잡도를 설정해 flake8 플러그인으로 사용합니다: flake8 --max-complexity 10 coolproject
- mccabe은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/PyCQA/mccabe
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
PyFlakes, pycodestyle, McCabe를 하나의 명령으로 실행하고 서드파티 플러그인을 지원하는 Python 린터입니다.
일관되고 간결한 Python 스타일을 적용하고 복잡한 코드 패턴을 찾아내는 엄격하고 주관이 뚜렷한 flake8 플러그인입니다.
선택한 스타일 가이드에 따라 Python import의 그룹과 순서를 검사하는 flake8 및 Pylama 플러그인입니다.
표준 라이브러리만 사용하는 단일 파일 Python 검사기로, 코드가 PEP 8 스타일 규칙을 따르는지 확인합니다.
pyflakes와 pycodestyle에서 검사하지 않는 잠재적 버그와 의심스러운 설계 패턴을 찾아내는 Flake8 플러그인입니다.