Na nossa empresa, uma parte considerável dos projetos é integração entre outros sistemas.
A maior parte dessas integrações é baseada em um sistema chamado Winthor (um dos projetos TOTVS), esse sistema possui um domínio rico e complexo. Traduzir os termos para inglês nos trazia mais confusões do que esclarecimentos, e por estarmos fazendo uma integração em uma parte pequena desse domínio gigante, tentar usar outras palavras que os usuários usavam não era nada eficiente.
Então para integrações com outros sistemas, adotamos os termos usados pelos usuários. É claro que o resultado passa a ser um emaranhado de termos, como RequisicaoService
, PedidoController
, OrdemPagamentoManager
e etc, mas no contexto do domínio do Winthor, traduzir Requisição
para Request
não faz sentido, gera ruído e o significado se perde. É possível que ao ler a palavra Request
você pode ter achado que entendeu o termo, e certamente se surpreenderá quando um usuário do Winthor te explicar o que é uma Requisição
para ele. Então, mesmo como essa "mistura feia" de português com inglês, após várias tentantivas, foi a que deu mais certo nesse ambiente.
Porém, para projetos que não são integrações, ou seja, aqueles que temos total controle do domínio e da documentação do mesmo, nos passamos a adotar o padrão em inglês para todo o código, menos para a mensagens de commit e documentação. Dois pontos importantes aqui:
- Na documentação, sempre mantemos um "dicionário", para quem estiver chegando entender o que o termo significa, não apenas a tradução mas também o que representa no domínio.
- Mensagens de commit e documentação em português, se expressar em código usando inglês é fácil, mas em mensagens de commit e documentação usar o português é muito mais simples e a comunicação é mais efetiva. A não ser que o time seja multinacional, mas não é nosso caso.