andreasonny83/unique-names-generator

How is uniqueness ensured?

styxlab opened this issue · 6 comments

This looks like a nice project!

I browsed through the docs and the code but could not find anything that would ensure uniqueness of the generated names. Am I missing something?

For anyone else looking for an answer: my conclusion is that this is a random-names-generator but not a unique-names-generator. Still useful for many applications, but a misnomer that may lead to wrong expectations.

This is indeed the truth, unfortunately. With our database of only 10-20,000 users we already are having multiple collisions of the same user names come up -- which we didn't expect using a seed and 3 dictionaries.

You should honestly re-open this to bring attention to the fact.

Reopening on demand 😄

My current workaround: I now use a name generated by this library and an additional suffix. Before writing to the db, I count the number of same names and then generate a suffix with count + 1. This allows me to have short names and ensure uniqueness. However it does come at the expense of and additional database select, additional boilerplate code, combining the name with the suffix, detecting a suffix, etc.

Thanks! This really was not ideal. Although we really should have tested it since the lib description doesn't have any actual details about how it does unique naming.

Closing again, as everything has been said. I let the maintainers decide, if they want to improve their README.

hello, how about the v4 version? is it better?