> > > Soundex is used by Strings(StringUtil) so it's
> > > tempting to send it with it into Lang.
> >
> > Soundex seems like an String encoding to me, so 
> > why not in the codec component?
>
> Sounds like the best plan so far to me. Metaphone would go with it.
> Currently Strings (StringUtil) calls both, so that would make Lang
> dependant on Codec. Not sure if that's desirable.
>

I'm not that familiar with StringUtils, but from a quick glance I see only:

StringUtils.soundex(String)
StringUtils.metaphone(String)
StringUtils.isMetaphoneEqual(String,String)

which seem to be in the wrong place anyway.

This is part of the problem with a monolithic "util" package--it's too easy
to bleed functionality, responsiblity and interdependencies between the
classes.  Having distinct components would force us to put more
consideration into the partitioning.

If we applied the single responsiblity principle I think we'd see a much
different organization of commons-util, at both the package and class level.

Reply via email to