У меня проблема, когда я должен выбрать одно из двух предупреждений:
from abc import ABCMeta, abstractmethod
class AbstractBaseClass:
__metaclass__ = ABCMeta
def __init__(self):
raise NotImplementedError("The AbstractBaseClass class is designed to be used in a static way.")
@staticmethod
@abstractmethod
def is_valid():
pass
class UselessSuperDelegation(AbstractBaseClass):
# Useless super delegation in method '__init__' (18:4) [useless-super-delegation]
def __init__(self):
super(UselessSuperDelegation, self).__init__()
@staticmethod
def is_valid():
return True
class AbstratInitNotImplemented(AbstractBaseClass):
# Method '__init__' is abstract in class 'AbstractBaseClass' but is not overrideden (25:0) [abstract-method]
@staticmethod
def is_valid():
return True
Производственный класс обязательно должен быть stati c и даже не может использоваться как одиночный, поэтому очень важно, чтобы конструктор генерирует исключение. С этого момента я не могу избежать другого предупреждения. Может быть, есть другой подход?
Если нет, какое предупреждение вы бы оставили (и отключили)?