Stack Overflow em Português Asked by Dherik on November 5, 2021
Uma dúvida que sempre me amola quando estou em um projeto Java no qual usamos termos em português é lidar com nomes de métodos ou variáveis que representam, de alguma forma, duas coisas e preciso mencionar ambas no nome do método/variável. Em inglês, e na mesma situação, os nomes ficam melhores.
Um exemplo, se estou em um código em inglês e tenho uma variável que contém o nome e sobrenome da pessoa, eu posso ter:
firstAndLastName
Simples e fácil de ler, graças ao And
. Mas em português o nosso And
é o E
, o que fica muito ruim de ler no código na minha opinião, pois as letras maiúsculas acabam grudadas:
primeiroESegundoNome
Não sei quanto a vocês, mas esta parte ES
me dá uma travada na leitura de qualquer código.
Normalmente, acabo usando umas destas alternativas:
primeiroSegundoNome
primeiroComSegundoNome
Resolve em alguns casos, fica só estranho em outros, mas em alguns não resolve. Exemplo, se tenho um método que verifica se as datas existem e são iguais, querendo dar ênfase nesta situação, nenhuma das formas abaixo atende bem:
hasDatasIguais
hasDatasComIguais
isDatasExistemIguais
isDatasExistemComIguais
Em termos de nome, ficaria melhor mesmo hasDatasEDatasIguais
, hasDatasESaoIguais
*…, mas voltamos ao problema inicial.
Este é um problema que incomoda vocês também? Como vocês agem em casos similares?
* Aqui misturei o termo inglês has
com português, mas isto é um outro assunto
Primeira opção: aceita que dói menos :) Se tiver um padrão quando bater o olho em duas maiúsculas seguidas, ainda mais uma sendo E
já ligará rapidamente o que é, depois de algum treino.
Também pode usar algumas variações ruins
isDatasExistemTambemIguais //Fica longo, mas aceitável
isDatasExistemTbIguais //Menos legível, mas nada crítico
isDatasExistemE_Iguais //Foge do padrão normalmente usado, mas resolve
isDatasExistemAndIguais //Esquisito, mas válido, há precedente
isDatasIguaisSeExistirem //Questão se interpretação
isDatasExistentesMasIguais //Mais para ter opções
Dá para fazer outras combinações partindo destas.
Mas como o E
pode ser implícito em algumas situações é mais fácil reescrever, eu ficaria com
TemDatasIguais
Coloquei no GitHub para referência futura.
Se não existe uma ou mais datas implica que elas não são iguais. Claro se todas não existem até podemos dizer que são iguais, mas de certa forma elas sequer são comparadas.
Se realmente puder existir uma situação que a concatenação precisa ser explícita aí teria que usar alguma outra palavra, ou aceita a esquisitice que fica o casing.
Eu usaria Eh
ou É
no lugar do is
. No começo acho que o casing é menos importante, e o acento ajuda diferenciar. Veja: Existe algum problema em usar caracteres Unicode para identificadores em código?.
Answered by Maniero on November 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP