== Why is this an issue? :operationName: method include::../description.adoc[] === Exceptions No issue will be raised when the empty method is abstract and meant to be overridden in a subclass, i.e. it is decorated with `abc.abstractmethod`, `abc.abstractstaticmethod`, `abc.abstractclassmethod` or `abc.abstractproperty`. Note however that these methods should normally have a docstring explaining how subclasses should implement these methods. [source,python] ---- import abc class MyAbstractClass(abc.ABC): @abc.abstractproperty def myproperty(self): pass @abc.abstractclassmethod def myclassmethod(cls): pass @abc.abstractmethod def mymethod(self): pass @abc.abstractstaticmethod def mystaticmethod(): pass ---- == How to fix it === Code examples ==== Noncompliant code example [source,python,diff-id=1,diff-type=noncompliant] ---- def shouldNotBeEmpty(): # Noncompliant - method is empty pass def notImplemented(): # Noncompliant - method is empty pass def emptyOnPurpose(): # Noncompliant - method is empty pass ---- ==== Compliant solution [source,python,diff-id=1,diff-type=compliant] ---- def shouldNotBeEmpty(): doSomething() def notImplemented(): raise NotImplementedError("notImplemented() cannot be performed because ...") def emptyOnPurpose(): pass # comment explaining why the method is empty def emptyOnPurposeBis(): """ Docstring explaining why this function is empty. """ ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]