pylint的“太less的公共方法”消息意味着什么
我在一些代码上运行pylint,并收到错误“太less的公共方法(0/2)”。 这个消息是什么意思? pylint文档没有帮助:
当class级公共方法太less时使用,所以确保它真的值得。
这个错误基本上说,类不是只存储数据,因为你基本上把这个类作为一个字典对待。 类应该有至less几个方法来操作他们所持有的数据。
如果你的class级看起来像这样:
class MyClass(object): def __init__(self, foo, bar): self.foo = foo self.bar = bar
考虑使用一个字典或一个namedtuple
代替。 虽然如果一个class似乎是最好的select,使用它。 pylint并不总是知道什么是最好的。
如果您正在扩展课程,那么我的build议是系统地禁用此警告并继续,例如,在芹菜任务的情况下:
class MyTask(celery.Task): # pylint: disable=too-few-public-methods """base for My Celery tasks with common behaviors; extends celery.Task ...
即使你只是扩展一个单一的function,你肯定需要一个类来使这个技术的function,扩展肯定比黑客在第三方类更好!