Problem
Currently, there is no lint that warns when an EO object declares too many attributes. Objects with excessive attributes are hard to read, test, and reuse. This violates the principle of keeping objects small and focused.
Suggestion
Add a new lint too-many-attributes that reports a defect when an object declares more than a configurable threshold of attributes (e.g., 5 by default).
Example of code that should trigger the lint
[a b c d e f g] +> my-object
...
This object has 7 attributes, which is too many.
Expected behavior
The lint should report a WARNING level defect pointing to the object and suggesting to split it into smaller objects.
Problem
Currently, there is no lint that warns when an EO object declares too many attributes. Objects with excessive attributes are hard to read, test, and reuse. This violates the principle of keeping objects small and focused.
Suggestion
Add a new lint
too-many-attributesthat reports a defect when an object declares more than a configurable threshold of attributes (e.g., 5 by default).Example of code that should trigger the lint
This object has 7 attributes, which is too many.
Expected behavior
The lint should report a
WARNINGlevel defect pointing to the object and suggesting to split it into smaller objects.