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.
There are several reasons for a method not to have a body:
The following empty methods are considered compliant:
virtual methods as the implementation might not be required in the base class abstract method as the implementation is mandatory for child class
public void ShouldNotBeEmpty() { // Noncompliant - method is empty
}
public void NotImplementedYet() { // Noncompliant - method is empty
}
public void WillNeverBeImplemented() { // Noncompliant - method is empty
}
public void EmptyOnPurpose() { // Noncompliant - method is empty
}
public void ShouldNotBeEmpty() {
DoSomething();
}
public void NotImplementedYet() {
throw new NotImplementedException();
}
public void WillNeverBeImplemented() {
throw new NotSupportedException();
}
public void EmptyOnPurpose() {
// comment explaining why the method is empty
}