SLD4xx - InheritanceΒΆ
SLD401: Prohibits inheritance from concrete classes.
Allowed base classes:
Typing:
Protocol,GenericExceptions:
Exception,BaseExceptionTesting:
TestCaseEnums:
Enum,IntEnum,StrEnum,Flag,IntFlagOther:
TypedDict,NamedTuple
# Bad
class MyHandler(BaseHandler):
...
# Good
@dataclass(frozen=True, slots=True, kw_only=True)
class MyHandler:
validator: Validator
processor: Processor