Shared publicly  - 
#lazyweb Can you please review my small project documenting Java unicode pitfalls?
Ron Gross's profile photoElazar Leibovich's profile photo
The problem with is that they require a piece of self contained code posted, and I'm not sure it would fit. But maybe I can try it piece-wise. Thanks, I'll post a link to the question there. (BTW I'll be glad if you'll take a look and tell me if it is readable)
Why is FirstString not an interface? Did you start with interfaces for all classes, then change to abstract? Why is MostFreqChar not an interface? Why does MostFreqChar.mostFreqChar() return a String instead of a char? It's weird that you call a method by the name of the class with different casing. How about renaming to `invoke()`?
BTW, nice project - it's a good idea, a good way to teach i18n pitfalls - making someone work by making unit tests pass is much better than simply showing someone static documentation of "do-s and don't".
MostFreqChar is not an interfaces since I wanted the programmer who implements it to have helper methods that would help him "implement" a histogram. So that he'll be able to focus on the unicode-ness and not on implementing a histogram. Now that you mention it, it indeed makes more sense to give him a histogram standalone class. I'll fix it.

The rest of the classes became abstract class so that they'll look the same as MostFreqChar.

I agree that invoke is more appropriate.

Thanks for the input and compliments!
Add a comment...