Como funciona um gerador de nome de pobre
Muita gente precisa de nomes fictícios para testar sistemas, preencher bancos de dados de desenvolvimento, ou simplesmente criar personagens para escrever. Contratar um serviço premium ou fazer scraping de APIs pagas é perda de tempo quando você só quer um nome qualquer. O gerador de nome de pobre resolve isso de forma artesanal. A ideia básica é bem simples: você tem uma lista de prenomes e uma lista de sobrenomes, embaralha eles, e pronto. Tem gente que complicando o negócio, misturando dados de múltiplas fontes, mas na prática o que funciona é apenas dois arrays e um pouco de sorte.
Gerador de nome de pobre na prática
Eu desenvolvi um script assim em 2019 para um projeto de teste de API. A gente precisava de milhares de registros falsos para stress test, e não tinha orçamento para serviço de names generation. Minha solução foi juntar os nomes mais comuns do IBGE com sobrenomes que eu coletei de listas públicas de eleitores (dados abertos, claro). O resultado era decente para o propósito. O problema que eu encontrei na época era específico: os nomes ficavam muito repetitivos. Sempre aparecia os mesmos casais de "Maria Silva" ou "João Santos". A solução foi adicionar um peso diferente para cada nome, dando mais probabilidade aos mais comuns, mas também incluindo uma cauda longa de alternativas menos frequentes. Assim você evita aquele padrão robótico de nome gerado aleatoriamente.
Outro detalhe importante é a combinação de gêneros. Nomes como "Carlos" e "Fernanda" têm conjugações diferentes quando usados em frases ou documentos. Se seu sistema vai gerar textos, não apenas strings soltas, vale a pena separar os nomes por gênero e manter essa consistência. Eu usei dicionários separados e um flag simples de "gender" no output. Se você quiser algo mais robusto sem gastar dinheiro, existe a opção de usar bibliotecas open-source como Faker ou Python-faker. Mas aí você depende de instalação, dependências, versão compatível. Para algo rápido e sem burocracia, um script de 30 linhas resolve.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Limitações que ninguém conta
O principal problema desse tipo de gerador é a qualidade dos nomes em contextos formais. Nomes gerados aleatoriamente podem combinar sobrenomes de regiões diferentes de forma estranha, ou criar combinações que soam estranhas para falantes nativos. Se você precisa de nomes para produção real, comunique-se com alguém da área para validar. Também existe o viés cultural. Nomes muito comuns em certas regiões do Brasil podem não fazer sentido em outros contextos. Se seu sistema vai ser usado nacionalmente, considere gerar nomes específicos para cada região.
A repetição é outro ponto. Mesmo com pesos diferentes, em datasets grandes sempre vai haver colisões. Para testes de banco de dados, isso pode causar problemas de unique constraint. Minha solução foi adicionar um contador de sufixo numérico nos casos de duplicação. Se você precisa de algo mais sofisticado, existem alternativas como serviços de names generation pagos ou até mesmo APIs de dados abertos governamentais. Mas para desenvolvimento rápido e uso interno, um gerador de nome de pobre bem feito é suficiente.
O que mais vejo gente reclamando é que os nomes parecem muito "artificiais". A verdade é que nomes gerados aleatoriamente têm essa limitação. Para deixar mais natural, você pode usar técnicas de Markov chains ou analisar padrões reais de combinação nome-sobrenome em bases abertas. No final das contas, a gente usa essas ferramentas porque não temos tempo nem dinheiro para algo melhor. E funciona. Maioria das vezes.