Tecnologia / Artigos / O Guia Definitivo do Design de Software /
Fale inglês, não latim

Cléber

![coliseu.jpg](/files/164) *Photo by [Mathew Schwartz](https://unsplash.com/@cadop) on [Unsplash](https://unsplash.com/s/photos/rome)* --- Para quem não sabe, `data` é uma palavra latina que significa "dados", sendo o plural de `datum`. 1 datum 2 data 3 data Já `status` é uma palavra no **singular** que significa "estado" ou "situação". Seu plural em latim seria `statūs`. Cito, aqui, Tom Christiansen: *If for some bizarre reason you simply cannot bring yourself to use the normal English plural form "statuses", then you must learn that the true plural of status is statUs, with a macro over the u and pronounced "statoose". That's because status comes from the Latin declension that forms plurals according to that particular rule, which incidentally is just like the plurals of apparatus and prospectus, but unlike the plural of words like radius, which becomes radii because it's from a different declension, and also unlike genus and corpus, which go to genera and corpora respectively because they are from still another declension. And please don't ask me about octopus, since it's Greek not Latin, and we do not care to offend any sensitive octopedal feelings. :-) Wouldn't it be much easier to simply s/$/es/?* Fonte: [http://diswww.mit.edu/pergamon.mit.edu/perl/6460](http://diswww.mit.edu/pergamon.mit.edu/perl/6460) # Latim é um mau cheiro Dói um pouco no meu coração escrever tal coisa, mas é a mais pura verdade. Se você gosta de usar palavras latinas no meio do seu código, você está fazendo coisa errada em 99% dos casos. Primeiramente, pare de usar `status`, já que o plural é complicado e, muito mais especialmente do que isso, **"status" não significa nada em especial**. Entendeste? "Status", por si própria, é uma palavra com semântica ridiculamente insignificante. Como alternativa, procure **contextualizar** o que quer que você queira dizer. É a situação do processamento? Talvez seja melhor chamar de `processing_state` (viu que eu usei "*state*"?), por exemplo, ou mesmo `current_processing_situation`. E se for um valor booleano, então, passe longe mesmo de "*state*"! **Sempre use verbos em nomes de valores booleanos**. Lembre-se: você sempre vai usar os valores booleanos como uma forma de questionamento: `if processing_is_finished` = "*se o processamento foi finalizado...*" E isso é muito diferente de "*se o estado*". "Se o estado" não faz o menor sentido! Com `data` é a mesma coisa. **"Data" (em latim) não significa nada em especial**. Você está dizendo: "*são dados*". Okay. Mas que tipo de dados? Será que você não quis dizer `request_payload`? Ou `user_settings`? Ou `call_parameters`? São muito raros os casos em que "*data*" não pode ser contextualizada e receber um nome mais adequado. ## Legibilidade importa Nossas vidas como desenvolvedores de software já são complicadas o bastante e não precisamos, como venho repetindo nessa série, de *suspense e mistério*. **Clareza nos ajuda** no dia-a-dia. Ajuda nossos cérebros a não derreterem antes do fim do dia. # Resumo * Latim é mau cheiro de código. Evite.

Curti

42 visitantes curtiram esse Item.

Anterior: Transação não é isolamento | Próximo: Artigos / Diretrizes de Desenvolvimento