Eu sempre quis usar seqüências de caracteres geradas aleatoriamente para os IDs dos meus recursos, para poder ter URLs mais curtos como este: / user / 4jz0k1
Mas nunca o fiz, porque estava preocupado com a geração aleatória de cadeias criando palavras reais, por exemplo: / user / f * cker. Isso traz dois problemas: pode ser confuso ou até ofensivo para os usuários, e também pode interferir no SEO.
Então pensei que tudo o que eu precisava fazer era estabelecer um padrão fixo, como adicionar um número a cada 2 letras. Fiquei muito satisfeito com o meu método 'generate_safe_uuid', mas percebi que era melhor apenas para SEO e pior para os usuários, porque aumentava a proporção de palavras reais geradas, por exemplo: / user / g4yd1ck5
Agora, estou pensando em criar um método 'replace_numbers_with_letters' e verificar se ele não formou nenhuma palavra em um dicionário ou algo assim.
Alguma outra ideia?
ps. Enquanto escrevia isso, também percebi que procurar palavras em mais de um idioma (por exemplo: inglês e francês, espanhol etc.) seria uma bagunça, e estou começando a amar IDs apenas com números novamente.
ATUALIZAR
Alguns links que todos devem ler:
http://thedailywtf.com/Articles/The-Automated-Curse-Generator.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx