Um plugin do flake8 que sinaliza trechos de código Python que podem ser escritos de forma mais simples, como combinar chamadas de isinstance ou substituir blocos if por expressões ternárias.
PyCQA/mccabe
Ferramenta Python que calcula a complexidade ciclomática de McCabe de funções e sinaliza código excessivamente complexo como plugin do flake8.
- Estrelas
- 684
- Forks
- 70
- Issues abertas
- 12
- Último commit
- há 26 dias
O que é?
mccabe mede a complexidade de McCabe (ciclomática) de código Python, ou seja, conta os caminhos de execução independentes de uma função. Pontuações altas indicam funções difíceis de ler e testar. O projeto pode ser executado como módulo independente em um arquivo, exibindo cada função cuja complexidade ultrapasse um limite escolhido.
Também funciona como plugin do flake8, o verificador de código Python. Após a instalação, o plugin fica desativado por padrão e pode ser habilitado com a opção --max-complexity, que emite um aviso C901 para qualquer função cuja complexidade exceda o valor informado.
O projeto é mantido pela organização PyCQA e oferece suporte a versões recentes do Python 3. A versão 0.7.0 deixou de oferecer suporte a versões do Python anteriores à 3.6.
Recursos principais
- 01Calcula a complexidade ciclomática de McCabe para funções e métodos Python.
- 02Pode ser executado como comando independente com python -m mccabe e um limite --min.
- 03Integra-se ao flake8 por meio da opção --max-complexity e emite avisos C901.
- 04Oferece suporte à sintaxe async/await e a versões recentes do Python 3.
Casos de uso
- Sinalizar funções excessivamente complexas durante a revisão de código ou na integração contínua.
- Definir um limite de complexidade para um projeto Python usando a configuração do flake8.
- Encontrar as funções mais complexas de um módulo antes de refatorar.
Início rápido
- 1
Instale mccabe do PyPI com pip
pip install mccabe - 2
Execute o verificador independente em um arquivo Python para listar as funções mais complexas
python -m mccabe --min 5 mccabe.py - 3
Use-o como um plugin do flake8 definindo uma complexidade máxima
flake8 --max-complexity 10 coolproject
Antes de usar
- A licença não está claramente declarada nos metadados do projeto, então verifique o arquivo de licença antes de usar o projeto comercialmente.
- As verificações do plugin vêm desativadas por padrão e devem ser ativadas com --max-complexity.
Em coleções
Tópicos
Perguntas frequentes
- O que é mccabe?
- Ferramenta Python que calcula a complexidade ciclomática de McCabe de funções e sinaliza código excessivamente complexo como plugin do flake8. mccabe mede a complexidade de McCabe (ciclomática) de código Python, ou seja, conta os caminhos de execução independentes de uma função. Pontuações altas indicam funções difíceis de ler e testar. O projeto pode ser executado como módulo independente em um arquivo, exibindo cada função cuja complexidade ultrapasse um limite escolhido.
- mccabe é gratuito? Qual é a licença?
- mccabe é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mccabe ainda é mantido?
- Manutenção ativa. O último commit de mccabe foi em 12 de out. de 2026.
- Para que posso usar mccabe?
- Sinalizar funções excessivamente complexas durante a revisão de código ou na integração contínua. Definir um limite de complexidade para um projeto Python usando a configuração do flake8. Encontrar as funções mais complexas de um módulo antes de refatorar.
- Como instalar mccabe?
- Instale mccabe do PyPI com pip: pip install mccabe Execute o verificador independente em um arquivo Python para listar as funções mais complexas: python -m mccabe --min 5 mccabe.py Use-o como um plugin do flake8 definindo uma complexidade máxima: flake8 --max-complexity 10 coolproject
- Onde consigo mccabe?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/PyCQA/mccabe
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Linter para Python que reúne PyFlakes, pycodestyle e McCabe em um único comando e oferece suporte a plugins de terceiros.
Um plugin rigoroso e opinativo para flake8, que impõe um estilo Python consistente e simples e sinaliza padrões de código complexos.
Plugin para flake8 e Pylama que verifica se os imports em Python estão agrupados e ordenados conforme um guia de estilo escolhido.
Verificador Python de arquivo único que avalia o código conforme as convenções de estilo da PEP 8, usando apenas a biblioteca padrão.
Um plugin do Flake8 que sinaliza possíveis bugs e padrões de projeto questionáveis não verificados pelo pyflakes e pelo pycodestyle.