I'm currently -0.9 on the plethora of plugins in the tvd-evaltoplugin
branch. This change appears to be adding quite a bit of complexity for
little to no practical benefit. It appears to be trying to separate
code out into individual plugins just for the sake of separating code
out into individual plugins.
Why so many plugins? The combinatorics lead to a huge number of
possible configurations, most of which simply don't make sense. Why
would someone load the HeaderEval plugin but not the BodyEval plugin?
A key facet of plugins is that they are optional. For something to be
correctly designed as a plugin, it must make sense for the plugin to be
loaded and it must make sense for the plugin to not be loaded.
A correct design also avoids creating "silly states," combinations that
don't make sense. What does it mean to load the Bayes plugin, but have
either use_bayes or use_bayes_rules turned off? What does it mean to
have use_bayes_rules enabled but the Bayes plugin not loaded?
The moving of the WLBL code to a separate plugin meets this criteria, so
I'm +0 on that. I also have no objection to changing the interface of
the EvalTests to match those of plugins. It does not, however, make
sense to have the loading of those eval tests be optional.
- tvd-evaltoplugin John Myers
-