É uma boa prática codificar em inglês? [duplicado]

37

Tenho um desenvolvimento que se destina a ser vendido em toda a América Latina (falantes de espanhol), mas ouvi de alguns parceiros que é uma boa prática sempre codificar em inglês, quero dizer apenas código (métodos, classes, nomes de páginas, etc), rótulos na GUI serão todos em espanhol ...

O código será editado no futuro por desenvolvedores de empresas em toda a América Latina e talvez apenas alguns de fora.

O que você acha ?, alguma experiência com isso?

    
por Milox 12.10.2011 / 18:30
fonte

11 respostas

54

Sou francês e trabalho em uma empresa francesa.

No entanto, codificamos principalmente em inglês. Aqui está o porquê:

  • Por vezes, temos pessoas não francesas a trabalhar connosco, pelo que é mais fácil para elas.

  • Nós temos algum código vindo de terceiros (lib, framework, etc.), e este código geralmente está em inglês, então não queremos acabar com uma colcha de retalhos de código francês-inglês. / p>

De um modo geral, isso não é um problema, porque você precisa entender o inglês de qualquer maneira se quiser ser um bom programador.

    
por 12.10.2011 / 18:38
fonte
22

Na maioria das linguagens de programação, as palavras-chave estão em inglês, então geralmente parece um pouco forçada se você misturar idiomas.

Por esta razão, assim como o número de desenvolvedores, o inglês tende a ser a linguagem usada na maioria dos desenvolvimentos, até mesmo os desenvolvimentos de empresas baseadas em países que não falam inglês.

    
por 12.10.2011 / 18:40
fonte
21

Em geral, como dito em outras respostas: Linguagens de programação usam palavras-chave em inglês e, quando um projeto se torna maior, você pode fazer com que pessoas estrangeiras trabalhem no código. Além disso, conceitos como "getters" e "setters" ou instância em linguagens como Java são comumente chamados de getFoo ou setFoo e faz sentido manter essa convenção.

Por outro lado, você pode criar um aplicativo para um mercado-alvo específico. Eu, por exemplo, estava trabalhando para um grande banco desenvolvendo softwares de análise de balanços onde tínhamos linguagem financeira e jurídica alemã. No final, decidimos usar identificadores alemães para manter os termos exatos, pois os termos em inglês às vezes tinham um significado ligeiramente diferente; do outro lado, nós mantivemos a convenção para usar o inglês em outros lugares, então tínhamos funções como getUmlaufvermoegen() (em vez de getCurrentAssets() ) que parecem "engraçadas", mas provaram funcionar bem, já que poderíamos facilmente passar pelos cálculos junto com os especialistas do banco que definiram os cálculos que fizemos, mas foi consistente com os frameworks etc. que usamos.

    
por 12.10.2011 / 18:55
fonte
5

Eu moro na Colômbia e somos ensinados a escrever nosso código em inglês por causa da universalidade, a maioria dos bons programadores conhece as duas linguagens de qualquer maneira porque é necessário e porque quase toda boa documentação e referência é escrita em inglês;

Então, eu acho que é seguro escrever seu código em inglês, é muito provável que eles entendam e é uma boa prática.

    
por 12.10.2011 / 19:13
fonte
5

Isso é difícil. O problema em ter todos os nomes de variáveis em inglês é que você precisa traduzir o domínio do cliente de seu idioma nativo para o inglês. E isso é realmente difícil às vezes, já que nomear coisas é um dos problemas mais difíceis na programação. Se você está tentando praticar o DDD, criar uma linguagem de domínio onipresente é quase impossível. Sempre haverá duas versões de cada conceito e o significado se perderá na tradução.

Mas, por outro lado, se você misturar outro idioma na base de código (além do inglês), ele sempre parecerá confuso e ficará ilegível para todos que não puderem falar esse idioma.

Como um falante nativo de inglês que mora na Suécia, eu me dedico a traduzir tudo para o inglês, exceto pela palavra estranha que simplesmente não pode ser traduzida sem perder algum significado.

    
por 17.10.2011 / 20:52
fonte
3

Estávamos discutindo padrões de codificação recentemente no trabalho e surgiu um ponto interessante. Somos falantes de inglês no Reino Unido e fomos direcionados ao código em inglês dos EUA. Por mais que seja difícil para nós engolir nosso orgulho, temos que aceitar que essa é a coisa certa a fazer. Embora não haja diferença nas palavras-chave, grande parte do .NET framework é em inglês dos EUA, e eu aceito que é melhor manter a consistência, em vez de colocar o orgulho nacional em primeiro lugar:).

Também pode ajudar o seu inglês (não que haja algo de errado com isso!). A grande questão é, com as economias emergentes em ascensão, quando nós, ingleses, temos que aprender a codificar em português, russo, hindi ou mandarim:)

    
por 12.10.2011 / 23:10
fonte
2

Eu moro na Itália e aqui você costuma ver inglês misturado com palavras em italiano ou inglês com sufixos italianos. Isso é muito difundido, por exemplo, em um slide de um curso universitário de CS eu vi:

bool checkFatto;

("cheque feito")

Acredito firmemente que todo o código, incluindo comentários e até mesmo a inclusão de pessoas em desenvolvimento, deve ser em inglês. O italiano simplesmente não possui muitas das palavras necessárias para discutir tópicos de programação. Mas isso praticamente nunca é feito .. Talvez seja por isso que optei por telecomutar para uma empresa americana.

Algo que me incomoda tanto são as pessoas que fazem perguntas de programação em italiano ou consultam a wikipedia italiana. Eles não têm idéia da quantidade de informações que estão perdendo (como a totalidade do SO).

    
por 12.10.2011 / 23:26
fonte
2

inglês:

GetUserInvoices(int userId);

espanhol:

ObtenerFacturasDelUsuario(int idDeUsuario);

As palavras em inglês geralmente são mais curtas e mais fáceis de ler, essa é uma das razões pelas quais eu geralmente codifico em inglês (sou da Espanha). O outro é que eu acho feio misturar palavras em espanhol com palavras-chave em inglês e classes e membros do framework.

    
por 20.10.2011 / 16:35
fonte
0

É um dilema meu: por mecanismo e palavras-chave, ou ler documen- tação, nenhum problema real.

Meu inglês é pobre e essa linguagem não tem palavras para muitas idéias significativas sutis.

Eu tentei desenvolver em inglês, isso me desencaminha, e eu tenho que fazer isso novamente com palavras conhecidas que representam o mundo real.

Assim, para o código principal / essencial está em francês (ninguém é perfeito) com tradução de duas linguagens com esperança de que para um inglês nativo não seja tão difícil ter as chaves da compreensão próximas do código de algumas partes (não todas) .

Não é orgulho, apenas para enriquecer o trabalho com diferentes culturas e para fazer o trabalho da melhor maneira.

    
por 20.10.2011 / 09:55
fonte
0

Quando começamos nossa aplicação há cinco anos, tínhamos apenas quatro programadores holandeses. Mas nós escrevemos tudo em inglês.

Hoje, nosso código é usado por colegas franceses e desenvolvedores indianos. Graças ao uso do inglês, eles também podem usar nosso código. Os colegas franceses têm um pouco de francês em seus comentários e esquemas de nomeação. Ainda podemos fazer algum sentido, mas é muito mais fácil se tudo estiver em inglês.

Em suma, e se amanhã você tiver alguns colegas brasileiros?

    
por 20.10.2011 / 14:50
fonte
-1

Acredito firmemente que nenhum desenvolvedor sério pode ser incapaz de compreender, pelo menos, o inglês por escrito . De que outra forma você consultaria a documentação de qualquer biblioteca, leria um livro sobre um assunto altamente especializado ou até mesmo utilizaria o Stack Overflow?

No seu caso particular, as chances são de que, se um cliente "requer" que o código-fonte esteja em seu idioma local, ele pode ser uma empresa bem discreta e talvez você não queira estabelecer um relacionamento com essa empresa. um cliente.

    
por 17.10.2011 / 21:14
fonte