This has been discussed before, but I thought it might be a good time to bring it up again based on Adam Heath's recent additions to the GenericDelegator (in revs r585808, r585803, r585802, r585759).

One of the issue with the Entity Engine that has been getting worse over the years is method bloat. There are WAY too many variations of different methods, IMO. These have been added for convenience, but the net effect (that I don't think was expected or even considered) is that when looking at the massive list it is tricky to figure out which methods to use for what. This is a big problem for people new to the Entity Engine, but also a problem for experienced EE users.

In short lately I'm thinking that having so many methods is worse than the convenience they offer to make life easier for "lazy" coders. Actually, with a decent IDE having lots of parameters isn't such a big deal.

This does have the down side of requiring changes to lots of existing code to use the fully featured methods instead of the simplified ones (most of which just call the full featured ones with default values).

The up side is we end up with a really happy and clean GenericDelegator class with only maybe 10-15 methods for different general operations, and perhaps even less than that, like 5-10... (aside from the cache maintenance methods, and other utility methods, many of which we might want to make private, the general goal being to simplify the class).

In shorter I think this is getting to be one of those cases where less is more...

Any thoughts? Should we start mass-marking methods as deprecated? Which ones and in what forms of the methods should we leave?

-David

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to