Uma vez tive a oportunidade de decidir sobre um esquema de nomeação. Por isso, perguntei aos meus desenvolvedores, que afinal eram as pessoas que tinham que trabalhar com esses nomes diariamente, se preferiam nomes funcionais (ou seja, nomes que representam, de alguma forma codificada, o finalidade da máquina) ou nomes mnemônicos (ou seja, nomes extraídos de algum esquema de nomeação humano pré-existente, que não continha conteúdo implícito sobre a finalidade da máquina).
Dos 38 desenvolvedores, 37 preferiram nomes mnemônicos; apenas um nome funcional preferido. Então, eu os nomeei todos depois dos rios (há uma grande quantidade de nomes possíveis, e muitos deles são curtos, fáceis de lembrar e rápidos de digitar).
O cérebro humano é muito bem projetado para atribuir significado aos nomes. Se você fornecer nomes memoráveis, as pessoas lembrarão rapidamente para que esses nomes são usados e os usarão. Se você usar nomes de algum contexto comum (por exemplo, rios, elementos, estrelas, condados, bebidas, você entendeu), isso ajudará as pessoas a reconhecer imediatamente o nome de host de uma empresa quando o encontrarem; caso contrário, declarações como "todo o email acabou betelgeuse
" podem ser um pouco confusas).
Por outro lado, meus desenvolvedores achavam que eles tinham em trabalhos anteriores muito difícil lembrar exatamente o que pr1ms001
era.
Mas devo acrescentar que usamos CNAMEs no DNS interno para fornecer um nome funcional ao mapeamento de nomes mnemônicos; portanto, se você realmente achou mais fácil lembrar que o servidor de email principal no primeiro cluster no site de relações públicas era pr1ms001
, então o DNS que você saiba que isso era atualmente orwell
. Além disso, temos muitos nomes funcionais por máquina, desde que você sempre use o nome da função relevante para a função em que estava trabalhando, você pode ter certeza de que pr1imap001
sempre apontará para o servidor IMAP, mesmo que tenhamos movido essa funcionalidade de orwell
para rhine
. E quando hudson
morríamos, podíamos mudar o nome da substituição sem afetar as funções operacionais, para que nunca tivéssemos o "quer dizer novo hudson
ou velho hudson
?" confusão.