【问题标题】:What does R0902 of Pylint mean? Why do we have this limit?Pylint的R0902是什么意思?为什么我们有这个限制?
【发布时间】:2017-06-20 11:12:01
【问题描述】:

R0902 限制的背后是什么?太多的实例属性会减慢 python 解释器的速度还是仅仅是因为太多的实例属性会使类更难理解?

【问题讨论】:

    标签: python pylint


    【解决方案1】:

    来自 (DOCS):

    太多实例属性(R0902):

    • 太多实例属性 (%s/%s) 当类有太多实例属性时使用,尝试减少它以获得更简单(也更容易使用)的类。

    然后从 (Tutorial):

    ...但是我遇到了错误消息,这些错误消息让我不知道出了什么问题,仅仅是因为我不熟悉代码理论的底层机制。让我的新手感到困惑的一个错误是:

    :too-many-instance-attributes (R0902): *Too many instance attributes (%s/%s)*

    感谢 Pylint 向我指出,我现在明白了。如果你没有得到那个,倒一杯新鲜的咖啡并研究一下 - 让你的程序员思维成长!

    所以,是的,这不是很清楚。

    但是,如上所述,对于方法、类和模块,越小通常越有利于可理解性、可重用性和可管理性。当事情变得太大时,通常表明事情可以被重构,以使它们变得更小。确实没有办法对此进行硬性限制,正如this question 中讨论的如何关闭此消息,pylint 不应该有最后的发言权

    因此,只需将消息作为提示,进一步研究该部分代码。

    【讨论】:

    • PEP8 通常是正确的,值得尝试遵守它也就是说,我有时发现禁用特定的pylint消息更适合当某些规则只是低于您想要的时,您可以摆脱特定生产的标记-ready 文件,每行一行。对于这种情况,请添加 # pylint: disable=R0902
    猜你喜欢
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 2011-04-11
    • 2018-08-29
    • 2015-09-07
    • 2012-08-18
    相关资源
    最近更新 更多