## 07 February, 2008

### Few words about strings in mozilla (just a view of beginner)

Just have a look on this:

nsAString
/ \
nsASingleFragmentString -------------------------.
/ \ \
nsAFlatString \ nsAPromiseString
/ \ \ \ nsSingleFragmentDepende- / \
/ \ \ ------. ntSubstring / \
/ \ -------. \ nsDependentConcatenation nsDependentSubstring
/ -. \ `------------------------.
/ \ \ \
nsSharableString nsString nsDependentString nsPromiseFlatString
| | \
nsXPIDLString nsAutoString NS_LITERAL_STRING.
NS_NAMED_LITERAL_STRING

It's a real crap... Maybe they were implemented in a very good way, but I can't remember their names (after seeng 1 time). Memorizing this crap looks as serious task for any man who isn't mad.

All types should be intuitive. Why do the have such names? I don't know. But IMHO it's crap.

P.S. I'm not mozilla developer, I just opened the code and tried to change some things to fix a bug.
Also I love ff, it's the best browser ever. Maybe reading a book about mozilla development can help. But the naming of types looks...