We actually had it that way in some classes a few years ago, but that
means that you need to declare an alternate constructor in each
feature extractor class, and then make sure that the alternate
constructors for all the different feature extractor classes are alway
consistent and never get out of sync when bugs, etc. are fixed in some
of the feature extractors.
The advantage of the NamingExtractor1 approach is that it provides the
same functionality as adding an extra constructor to all
FeatureExtractor1s, and the code for it is all in one place and thus
trivially stays in sync.
I agree it would be a little more convenient to have the alternate
constructors, but the maintenance burden would be much higher. (And
we're already not doing a wonderful job of staying on top of the
ClearTK maintenance burden.)
Steve