Repolode
adamchainz

adamchainz/flake8-comprehensions

Plugin do flake8 que identifica padrões desnecessários ou ineficientes em comprehensions de listas, conjuntos, dicionários e geradores, além de chamadas a funções built-in.

Estrelas
466
Forks
25
Issues abertas
11
Último commit
há 3 dias

O que é?

flake8-comprehensions é um plugin para o flake8, o linter de Python, que detecta padrões em que comprehensions, expressões geradoras ou chamadas a list(), set(), dict() e tuple() são redundantes ou podem ser escritas de forma mais direta. Alguns exemplos são envolver um gerador em list() quando uma list comprehension bastaria ou chamar dict() em torno de um literal de dicionário.

Cada verificação é uma regra numerada da família C4, como C400 para geradores desnecessários e C419 para list comprehensions dentro de any() ou all() que impedem a interrupção antecipada. As regras podem ser ativadas pela configuração select do flake8, adicionando o prefixo C4. O plugin requer Python 3.11 ou posterior e pode ser instalado com pip.

Recursos principais

  • 01Identifica chamadas redundantes a list(), set(), dict() e tuple() envolvendo geradores, comprehensions e literais.
  • 02Detecta list comprehensions em any() e all() que impedem a interrupção antecipada.
  • 03Sugere dict.fromkeys() para dict comprehensions que atribuem um único valor constante.
  • 04Recomenda substituir chamadas a map() baseadas em lambda por comprehensions ou expressões geradoras.
  • 05Integra-se ao flake8 e fica ativado por padrão, a menos que a configuração select seja personalizada.

Casos de uso

  • Manter uma base de código Python organizada em um pipeline de CI que já executa o flake8.
  • Revisar o código em busca de listas intermediárias desnecessárias ou conversões duplicadas durante uma refatoração.
  • Ensinar a equipe a usar comprehensions de forma idiomática por meio de feedback automático do linter.

Início rápido

  1. 1

    Instale o plugin com pip

    python -m pip install flake8-comprehensions
  2. 2

    Se você configurar a opção select do Flake8, adicione o prefixo C4; caso contrário, o plugin ficará ativo por padrão

Antes de usar

  • Requer Python 3.11 a 3.15.

Em coleções

Tópicos

Perguntas frequentes

O que é flake8-comprehensions?
Plugin do flake8 que identifica padrões desnecessários ou ineficientes em comprehensions de listas, conjuntos, dicionários e geradores, além de chamadas a funções built-in. flake8-comprehensions é um plugin para o flake8, o linter de Python, que detecta padrões em que comprehensions, expressões geradoras ou chamadas a list(), set(), dict() e tuple() são redundantes ou podem ser escritas de forma mais direta. Alguns exemplos são envolver um gerador em list() quando uma list comprehension bastaria ou chamar dict() em torno de um literal de dicionário.
flake8-comprehensions é gratuito? Qual é a licença?
flake8-comprehensions é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
flake8-comprehensions ainda é mantido?
Manutenção ativa. O último commit de flake8-comprehensions foi em 4 de nov. de 2026.
Para que posso usar flake8-comprehensions?
Manter uma base de código Python organizada em um pipeline de CI que já executa o flake8. Revisar o código em busca de listas intermediárias desnecessárias ou conversões duplicadas durante uma refatoração. Ensinar a equipe a usar comprehensions de forma idiomática por meio de feedback automático do linter.
Como instalar flake8-comprehensions?
Instale o plugin com pip: python -m pip install flake8-comprehensions Se você configurar a opção select do Flake8, adicione o prefixo C4; caso contrário, o plugin ficará ativo por padrão
Onde consigo flake8-comprehensions?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/adamchainz/flake8-comprehensions

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados