fabriciocolombo / sonar-delphi

SonarQube Delphi Plugin
91 stars 46 forks source link

Add new rule: Methods should not be empty #9

Open fabriciocolombo opened 9 years ago

fabriciocolombo commented 9 years ago

There are several reasons for a method not to have a method body:

Exception An abstract class' may have empty methods, in order to provide default implementations for child classes.

Teloah commented 8 years ago

Isn't this already kind of covered by "Empty 'begin' statement" rule? I see a lot of those violations, because I quite heavily use Null Object Pattern and, naturally, have a lot of empty methods.

fabriciocolombo commented 8 years ago

In a way yes, but empty 'begin' statement is very generic. Methods should not be empty is more specific. We'll leave this on hold for now.

marcosrocha85 commented 8 years ago

On a past team I worked, we used to just write an "Exit;" statement on virtual procedures that weren't abstract. Just because on Delphi 5 if you override an abstract method and call inherited, the IDE raises an abstract error. Above Delphi 6 that error doesn't appear anymore. So I think that situation should be considered.