Ferramenta Python que calcula a complexidade ciclomática de McCabe de funções e sinaliza código excessivamente complexo como plugin do flake8.
MartinThoma/flake8-simplify
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.
- Estrelas
- 195
- Forks
- 22
- Issues abertas
- 59
- Último commit
- há 5 dias
O que é?
flake8-simplify é um plugin para o flake8, o linter de Python. Ele adiciona regras que apontam padrões de código com equivalentes mais curtos ou idiomáticos, como instruções if aninhadas que podem ser combinadas, blocos try/except/pass que poderiam usar contextlib.suppress e contadores manuais em loops que poderiam usar enumerate.
Cada regra informa um código, como SIM101 ou SIM108, junto com a localização e uma mensagem, integrando-se ao mesmo fluxo de trabalho das outras verificações do flake8. Basta instalar o pacote e executar flake8 para habilitar as regras; códigos específicos podem ser ignorados pela configuração padrão do flake8. Regras mais recentes são publicadas com o prefixo experimental SIM9 durante um período de teste, antes de receberem um código estável.
O pacote oferece suporte ao Python 3.10 até o 3.14 e pode ser instalado com pip. Algumas regras que faziam parte do pacote foram transferidas para um projeto separado, flake8-scream.
Recursos principais
- 01Detecta instruções if aninhadas que podem ser combinadas em uma só.
- 02Sugere o uso de operadores ternários, any(), all() e dict.get() em vez de código mais verboso.
- 03Sinaliza blocos try/except/pass que poderiam usar contextlib.suppress.
- 04Indica contadores manuais de índice que poderiam ser substituídos por enumerate.
- 05Funciona como um plugin padrão do flake8, com opções para ignorar regras específicas.
Casos de uso
- Simplificar uma base de código Python durante a revisão ou refatoração.
- Aplicar padrões de código mais simples na configuração do flake8 de uma equipe.
- Aprender Python idiomático ao descobrir quais padrões verbosos têm equivalentes mais curtos.
Início rápido
- 1
Instale o plugin com pip
pip install flake8-simplify - 2
Execute o flake8 no seu projeto para ver sugestões de simplificação
flake8 .
Antes de usar
- As regras experimentais SIM9xx podem mudar ou ser renomeadas após os períodos de teste.
Em coleções
Tópicos
Perguntas frequentes
- O que é flake8-simplify?
- 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. flake8-simplify é um plugin para o flake8, o linter de Python. Ele adiciona regras que apontam padrões de código com equivalentes mais curtos ou idiomáticos, como instruções if aninhadas que podem ser combinadas, blocos try/except/pass que poderiam usar contextlib.suppress e contadores manuais em loops que poderiam usar enumerate.
- flake8-simplify é gratuito? Qual é a licença?
- flake8-simplify é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- flake8-simplify ainda é mantido?
- Manutenção ativa. O último commit de flake8-simplify foi em 1 de nov. de 2026.
- Para que posso usar flake8-simplify?
- Simplificar uma base de código Python durante a revisão ou refatoração. Aplicar padrões de código mais simples na configuração do flake8 de uma equipe. Aprender Python idiomático ao descobrir quais padrões verbosos têm equivalentes mais curtos.
- Como instalar flake8-simplify?
- Instale o plugin com pip: pip install flake8-simplify Execute o flake8 no seu projeto para ver sugestões de simplificação: flake8 .
- Onde consigo flake8-simplify?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/MartinThoma/flake8-simplify
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um plugin rigoroso e opinativo para flake8, que impõe um estilo Python consistente e simples e sinaliza padrões de código complexos.
Linter para Python que reúne PyFlakes, pycodestyle e McCabe em um único comando e oferece suporte a plugins de terceiros.
Plugin para flake8 e Pylama que verifica se os imports em Python estão agrupados e ordenados conforme um guia de estilo escolhido.
Ferramenta de linha de comando e plugin do flake8 que aplica configurações compartilhadas entre vários projetos e corrige arquivos de configuração automaticamente.
Um linter e formatador de código Python extremamente rápido, escrito em Rust, com mais de 900 regras e formatação compatível com Black.