如何配置flake8使其能够捕获'对象不可调用'类错误提示
原因说明
你当前使用的原生flake8组件(pyflakes、pycodestyle)仅做基础语法错误、编码规范检查,不会做「对象是否可调用」这类语义级别的合法性校验,因此默认无法捕获该类问题。
解决方案
推荐通过安装扩展插件实现该类检查,优先选择轻量的flake8-bugbear插件:
- 安装适配你当前版本的插件
你使用的是flake8 3.7.9,安装对应兼容的bugbear版本即可:
pip install flake8-bugbear==20.1.4
- 直接执行flake8检查即可触发对应告警
执行flake8 my_script.py会输出如下警告:
B015: Possible unintended call, perhaps you missed a comma?
该告警正好匹配你代码中漏写元组逗号导致的误调用场景。
可选持久化配置
如果需要项目内统一启用该规则,可在项目根目录的.flake8配置文件中添加如下内容:
[flake8] extend-select = B015
备选方案(对齐pylint规则)
如果你需要完全对齐pylint的E1102检查规则,可安装flake8-pylint插件,将pylint规则集成到flake8中,配置开启E1102规则即可,该方案依赖pylint,相对更重。
内容的提问来源于stack exchange,提问作者Kafka4PresidentNow
相关产品推荐
相关产品推荐

