On Wed, Jan 15, 2014 at 8:06 AM, Benedikt Ritter <brit...@apache.org> wrote:
> Hi Gary, > > 2014/1/15 Gary Gregory <garydgreg...@gmail.com> > > > On Wed, Jan 15, 2014 at 7:00 AM, Benedikt Ritter <brit...@apache.org> > > wrote: > > > > > Hi all, > > > > > > we currently have StringUtils.getLevenshteinDistance. LANG-944 [1] is > > about > > > introducing a new string algorithm called Jaro Winkler Distance [2]. > > Since > > > StringUtils already does a lot of things, I'm wondering if it may make > > > sense to introduce a new class that serves as a host for more string > > > algorithms to come. It would look something like: > > > > > > StringAlgorithms.levenshteinDistance(str1, str2); > > > StringAlgorithms.jaroWinklerDistance(str1, str2); > > > > > > We would deprecate StringUtils.getLevenshteinDistance and delegate to > the > > > new class. It could be removed from StringUtils in the next major > > release. > > > > > > > > Thoughts? > > > > > > > Yuck! > > > > I'd rather have once class per algo which reminds me that [codec] might > be > > a better place for things like this that 'encode' strings into something > > else. > > > > Both methods return a double value modeling some kind of score. They do not > encode. Maybe StringAlgorithms is the wrong name? How About StringScore or > something like that? > Still wrong IMO and not OO. A single class will become another dumping-ground/kitchen-sink like StringUtils. I would not want to see one algo be a one method one liner impl and another algo be a complex 20 method job. I guess we could organize algos using nested classes like StringFoo.BarAlgo but that's not ideal. All algo classes in a new pkg is another way to go. Gary > > > > > > Gary > > > > > > > Benedikt > > > > > > [1] https://issues.apache.org/jira/i#browse/LANG-944 > > > [2] http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance > > > > > > -- > > > http://people.apache.org/~britter/ > > > http://www.systemoutprintln.de/ > > > http://twitter.com/BenediktRitter > > > http://github.com/britter > > > > > > > > > > > -- > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > > Java Persistence with Hibernate, Second Edition< > > http://www.manning.com/bauer3/> > > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > > Spring Batch in Action <http://www.manning.com/templier/> > > Blog: http://garygregory.wordpress.com > > Home: http://garygregory.com/ > > Tweet! http://twitter.com/GaryGregory > > > > > > -- > http://people.apache.org/~britter/ > http://www.systemoutprintln.de/ > http://twitter.com/BenediktRitter > http://github.com/britter > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory