opnião de boas práticas de desenvolvimento

Gostaria de saber de opniões de utilizar os nomes de váriaveis e objetos em uma lingua diferente ao pais que está sendo desenvolvido o sistema, como por exemplo escrever o nome objeto “Person” no lugar de “Pessoa” ou até um metodo “Load()” no lugar de carregar().

Dê uma olhada neste link.

Resumindo, depende do cliente. Se o cliente for estrangeiro, use inglês que não terá problema na hora de mapear as suas conversas para o código.

[quote=Andre Brito]Dê uma olhada neste link.

Resumindo, depende do cliente. Se o cliente for estrangeiro, use inglês que não terá problema na hora de mapear as suas conversas para o código.[/quote]

Concordo em parte. Sou mais da opinião do Guilherme, (do artigo), a linguagem usada deve representar o negocio. Se o teu cliente no seu negocio chama pessoa de Person você deve usar “Person” mesmo, agora se teu cliente chama de Pessoa, deve usar Pessoa. O legal é não misturar termos. Tipo Pessoa.load. Fica horrível… O mais correto é passar a linguagem usada pelo cliente para o código. Assim todo mundo fala a mesma lingua.
Para complementar isso da uma olhada em DDD

Eu sempre preferi programar em inglês. Até porque, como as classes básicas são em inglês, é impossível programar em outro língua sem misturar dois idiomas. Também já submeti códigos meus a fóruns internacionais, e já precisei trabalhar com estrangeiros em meu local de trabalho compartilhando código com eles (e detestava quando vinham em Alemão).

Entretanto, se seu negócio for MUITO nacional, como ligado a políticas públicas, pode ser até difícil programar em inglês. Por exemplo, eu programo sistemas de ensino. Em inglês, costumam chamar as disciplina de “course”. Não dá para negar que isso seria confuso com nosso conceito de curso, que pode significar a opção que se fez na faculdade. Outro exemplo é o fato de chamarem Faculdades de “College”, quando para nós o “Colégio” é uma instituição de ensino de segundo grau.

Aliás, muitos dos termos sequer existem em inglês, como por exemplo, “ensino médio”. “High school” é o mais próximo que conseguimos chegar, mas são coisas bem diferentes.
O fato é que, apesar de terem coisas parecidas, elas não são iguais e simplesmente não “se encaixam”.

Agora, antes disso programei sistemas de engenharia e sempre programo jogos.
Em ambos os casos, é bastante fácil programar em inglês, mesmo que no dia-a-dia muitos termos apareçam em português.

PS: A palavra discipline é mais usada no sentido de “ter disciplina”.

gostaria de agradecer as opniões postadas.

O unico problema que eu vejo em criar variaveis, metodos e etc em Portugues eh que o Portugues (entre outras que nao seja Ingles) nao eh, vamos dizer uma lingua “universal”.

A minha empresa eh uma empresa Sueca, mas os desenvolvedores sempre usaram ingles nos codigos, comentarios, por varios motivos:

Primeiro porque, assim como o Portugues o Sueco tem algumas letras que nao sao usadas em codigos por exemplo, å ä ö.
Imagina criar um metodo chamado SökÄnvändar, que em Portugues seria ProcuraUsuario.

Segundo, eh que (isso nao acontece muito no Brasil) mas paises da Europa sempre tem pessoas de outros paises trabalhando, entao fica mais facil usar Ingles nos codigos, comentarios e documentacao.

Terceiro, se vc trabalha numa empresa multinacional com times trabalhando no mesmo projeto ao redor do mundo, fica complicado se cada um usar a sua propria lingua. Mesmo que vc trabalhe numa empresa nacional, vc nunca sabe o dia de amanha, talvez a empresa comece a ter atuacao no exterior entao eh bom comecar em ingles para nao ter dor de cabeca no futuro.

Outra coisa deve ser levada em consideracao eh que, se vc trabalha num projeto open source e vai disponibilizar os codigos na net, imagina um fulaninho la da Alemanha que baixou o seu codigo e ta tentando entender o que CarregaExtratoBancario significa. :slight_smile:

Um “erro” que eu ja vi ai no Brasil eh que as vezes as pessoas mesclam linhas, por exemplo, metodos chamados GetUsuario, que na minha opiniao soh complica mais, o codigo continua ilegivel do mesmo jeito.

Entao concluindo, faca tudo em ingles, provavelmente a API da linguagem de programacao que vc vai usar eh em Ingles, o codigo fica mais bonito, mais legivel, mais consistente e vc nao vai ter problemas quando pessoas que nao sabem Portugues precisarem usar o seu codigo.

//Daniel

Bom,

Eu tinha essas dúvidas, até uqe peguei aplicações que considero grandes e interessantes, e olhei o source, lá tinham coisas e métodos interessantes.

O que eu recomendo de boas práticas é: pegue aplicações legais e grandes, e dê um olhada. Vc vai encontrar mta coisa boa.

Até concordo com você. Mas vejo dois pequenos pontos de atenção:

  • Falta de “intimidade” com a língua (isto ainda dá pra corrigir/contornar)
  • O cliente EXIGE que os métodos criados sejam em português (sim, isso acontece). Mas permite que use o padrão de getters e setters.
    Aí você vê uns cógidos “legíveis” como este:

cliente.getNomeCliente().replace(…
:roll: