python pylint_Pylint:使您的Python代码一致

python pylint

Pylint是高级Python样式强制程序。 而flake8black将采用“本地”样式:换行发生的位置,注释的格式或发现注释掉的代码或日志格式化中的不良做法等问题。

默认情况下,Pylint具有极强的侵略性。 从检查是否确实实现了声明的接口到重构重复代码的机会,它将为所有问题提供强有力的意见,这对于新用户而言可能很多。 轻轻地将其引入项目或团队的一种方法是先关闭所有检查器,然后逐个启用检查器。 如果您已经使用过flake8,black和mypy,则此功能特别有用: Pylint具有很多功能重叠的检查器。

这些数字可能因项目而异,并且可能取决于开发团队的偏好。 但是,一旦团队就参数达成协议,使用自动化工具强制执行这些参数将非常有用。 这就是Pylint闪耀的地方。

配置Pylint

为了以空配置开始,请使用以下.pylintrc启动.pylintrc


   
   
[MESSAGES CONTROL]

disable=all

这将禁用所有Pylint消息。 由于其中许多是多余的,因此这是有道理的。 在Pylint中, message是一种特定的警告。

您可以通过运行pylint来检查是否已关闭所有消息:

 $  pylint < my package > 

通常,在pylint命令行中添加参数不是一个好主意:配置pylint的最佳位置是.pylintrc 。 为了把它做一些有用的东西 ,我们需要启用一些消息。

为了启用消息,请在[MESSAGES CONTROL]下添加到.pylintrc


   
   
enable = <message>,

       ...

对于看起来有用的“消息”(Pylint称为不同类型的警告)。 我最喜欢的一些内容包括too-many-lines too-many-arguments too-many-branches 。 所有这些都限制了模块或功能的复杂性,并且无需进行人工操作即可客观地进行代码复杂度测量。

检查者消息的来源:每条消息恰好属于一个检查者。 许多最有用的消息都在设计检查器中 。 默认数字通常很好,但是调整最大值很简单:我们可以在.pylintrc添加一个称为DESIGN.pylintrc


   
   
[ DESIGN ]

max-args=7

max-locals=15

有用消息的另一个很好的来源是refactoring检查器。 我最喜欢的一些启用消息包括consider-using-dict-comprehensionstop-iteration-return (当return是停止迭代的正确方法时,它会寻找使用raise StopIteration生成器)。 和chained-comparison ,这将建议使用类似1 <= x < 5语法,而不是不太明显的1 <= x && x > 5

最后,就性能而言,但非常有用的昂贵检查器是similarities 。 它旨在通过在代码的不同部分之间明确查找复制粘贴来实施“不要重复自己”(DRY原理)。 它只有一条消息要启用: duplicate-code 。 默认的“最小相似度行”设置为4 。 可以使用.pylintrc将其设置为其他值。


   
   
[ SIMILARITIES ]

min-similarity-lines=3

Pylint使代码审查变得容易

如果你生病的代码审查,你指出,一类是过于复杂,或者说两种不同的功能基本上是相同的,pylint的添加到您的持续集成的配置,只有有关于复杂性准则的参数为您的项目一次

翻译自: https://opensource.com/article/19/10/python-pylint-introduction

python pylint

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值