An empty method is generally considered bad practice and can lead to confusion, readability, and maintenance issues. Empty methods bring no functionality and are misleading to others as they might think the method implementation fulfills a specific and identified requirement.
Such methods should be avoided and possibly removed.
Sub DoSomething() ' Noncompliant End Sub
However, there are some cases where a method needs to be empty. In those cases, it is essential to minimize confusion and enhance clarity.
Here are a few examples:
NotSupportedException, it makes clear the initial intention not to implement it in the future.
Sub DoSomething() ' Compliant
Throw New NotSupportedException
End Sub
NotImplementedException, the initial intention to add an implementation in the future is clear.
Sub DoSomething() ' Compliant
Throw New NotImplementedException
End Sub
Sub DoSomething() ' Compliant
' Do nothing because of X
End Sub
The following empty methods are considered compliant:
Overridable methods, as the implementation might not be required in the base class MustOverride method as the implementation is mandatory for child class