Herramienta de Python que calcula la complejidad ciclomática de McCabe de las funciones y funciona como plugin de flake8 para señalar código demasiado complejo.
MartinThoma/flake8-simplify
Plugin de flake8 que detecta código Python que puede simplificarse, por ejemplo, combinando llamadas a isinstance o sustituyendo bloques if por expresiones ternarias.
- Estrellas
- 195
- Forks
- 22
- Issues abiertos
- 59
- Último commit
- hace 5 días
¿Qué es?
flake8-simplify es un plugin para flake8, el linter de Python. Añade reglas que señalan patrones de código con una alternativa más corta o idiomática, como instrucciones if anidadas que se pueden combinar, bloques try/except/pass que podrían usar contextlib.suppress y contadores manuales en bucles que podrían sustituirse por enumerate.
Cada regla informa un código, como SIM101 o SIM108, junto con la ubicación y un mensaje, por lo que se integra en el mismo flujo de trabajo que las demás comprobaciones de flake8. Basta con instalar el paquete y ejecutar flake8 para activar las reglas; se pueden ignorar códigos concretos mediante la configuración estándar de flake8. Las reglas más recientes se publican con el prefijo experimental SIM9 durante un periodo de prueba antes de recibir un código estable.
El paquete es compatible con Python 3.10 a 3.14 y se instala con pip. Algunas reglas que antes estaban incluidas se trasladaron a un proyecto aparte, flake8-scream.
Funciones clave
- 01Detecta instrucciones if anidadas que se pueden combinar en una sola.
- 02Sugiere usar operadores ternarios, any(), all() y dict.get() en lugar de código más verboso.
- 03Señala bloques try/except/pass que podrían usar contextlib.suppress.
- 04Detecta contadores manuales de índices que podrían sustituirse por enumerate.
- 05Funciona como un plugin estándar de flake8 y permite configurar reglas específicas para ignorar.
Casos de uso
- Limpiar una base de código Python durante la revisión o refactorización.
- Imponer patrones de código más simples en la configuración de flake8 de un equipo.
- Aprender Python idiomático al ver qué patrones verbosos tienen alternativas más cortas.
Inicio rápido
- 1
Instala el complemento con pip
pip install flake8-simplify - 2
Ejecuta flake8 en tu proyecto para ver sugerencias de simplificación
flake8 .
Antes de usarlo
- Las reglas experimentales SIM9xx pueden cambiar o cambiar de nombre al finalizar sus periodos de prueba.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es flake8-simplify?
- Plugin de flake8 que detecta código Python que puede simplificarse, por ejemplo, combinando llamadas a isinstance o sustituyendo bloques if por expresiones ternarias. flake8-simplify es un plugin para flake8, el linter de Python. Añade reglas que señalan patrones de código con una alternativa más corta o idiomática, como instrucciones if anidadas que se pueden combinar, bloques try/except/pass que podrían usar contextlib.suppress y contadores manuales en bucles que podrían sustituirse por enumerate.
- ¿flake8-simplify es gratuito? ¿Qué licencia tiene?
- flake8-simplify es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿flake8-simplify sigue mantenido?
- Mantenimiento activo. El último commit de flake8-simplify fue el 1 nov 2026.
- ¿Para qué puedo usar flake8-simplify?
- Limpiar una base de código Python durante la revisión o refactorización. Imponer patrones de código más simples en la configuración de flake8 de un equipo. Aprender Python idiomático al ver qué patrones verbosos tienen alternativas más cortas.
- ¿Cómo se instala flake8-simplify?
- Instala el complemento con pip: pip install flake8-simplify Ejecuta flake8 en tu proyecto para ver sugerencias de simplificación: flake8 .
- ¿Dónde consigo flake8-simplify?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/MartinThoma/flake8-simplify
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un plugin estricto y con criterios definidos para flake8 que aplica un estilo de Python coherente y sencillo, y señala patrones de código complejos.
Un linter de Python que reúne PyFlakes, pycodestyle y McCabe en un solo comando y admite plugins de terceros.
Un plugin para flake8 y Pylama que comprueba si las importaciones de Python están agrupadas y ordenadas según una guía de estilo seleccionada.
Herramienta de línea de comandos y plugin de flake8 que aplica ajustes de configuración compartidos en varios proyectos y puede corregir automáticamente los archivos de configuración.
Un linter y formateador de código Python ultrarrápido, escrito en Rust, con más de 900 reglas de lint y formato compatible con Black.