Open fabriciocolombo opened 9 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.
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.
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.
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.