Gerencie as configurações de fábrica do robô.
Quando um robô sai da linha de montagem, ele não tem nome.
Na primeira vez que você liga um robô, um nome aleatório é gerado no formato de duas letras maiúsculas seguidas de três dígitos, como RX837 ou BC811.
De vez em quando, precisamos restaurar um robô para as configurações de fábrica. Isso apaga o nome dele. Na próxima vez que você perguntar, esse robô vai responder com um novo nome aleatório.
Os nomes precisam ser aleatórios: eles não devem seguir uma sequência previsível. Usar nomes aleatórios implica o risco de colisões. Sua solução precisa garantir que todo robô existente tenha um nome único.
Certifique-se de que sua solução seja geral o suficiente para ser facilmente escalável para nomes mais longos, com mais letras e dígitos. Isso geralmente também resulta em uma qualidade de código melhor.
Sugestão (isso não é testado explicitamente):
Para garantir que você sempre tenha um nome único, você pode implementar seu próprio cache ou usar um Stream com o cache integrado.
Crie sua conta no Exercism para aprender e dominar Scala com 95 exercícios e mentoria humana de verdade, tudo de graça.