-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Labels
featureNew feature or requestNew feature or requestruleImprovements or additions to rulesImprovements or additions to rules
Description
Prerequisites
- This rule has not already been suggested.
- This should be a new rule, not an improvement to an existing rule.
- This rule would be generally useful, not specific to my code or setup.
Suggested rule title
Class method should not be invoked from an object instance
Rule description
Calling a class method from an object instance would mislead reader that the method is an object method and may affect the object itself. Call class method using class name as prefix.
Rationale
// class declaration and implemeantion
type
TFoo = class(TObject)
public
class procedure Bar;
end;
implementation
class procedure TFoo.Bar;
begin
// do something
end;
// calling
var
FooObj: TFoo;
begin
FooObj := TFoo.Create;
FooObj.Bar; // non-compliant
TFoo.Bar; // compliant
end.
Metadata
Metadata
Assignees
Labels
featureNew feature or requestNew feature or requestruleImprovements or additions to rulesImprovements or additions to rules