Linguagem de programação: Nunca faça isso - C#.NET


por Mauricio Junior em 1/1/2011 0

Olá pessoal,

Segue abaixo um exemplo de codificação considerada "amadorismo" para quem desenvolve software. Estava um dia eu verificando um programa aqui na empresa; deparei com um método que usava uma variável com acento e ç.

Isso porque, o sistema foi feito por pessoas, ou melhor, consultores renomados no mercado de  desenvolvimento de código. Lembre-se, não é mentira do que está sendo colocado. Veja o mesmo abaixo:


        /// <summary>
        /// Cria um cache com a duração estabelecida.
        /// </summary>
        /// <param name="name">Nome arbitrário para log de eficiência</param>
        /// <param name="duração">duração de cada elemento no cache</param>
        public Cache(string name, TimeSpan duração)
        {
            _name = name;
            _duração = duração;
        }

Note que na assinatura do método, existe uma variável do tipo TimeSpan chamada "duração"; isso mesmo, "duração". Logo abaixo, essa variável é atribuída em outra chamada "_duração", isto é, foi mantido o erro. Querendo ou não o desenvolvedor "consultor altamente capacitado" conseguiu errar duas vezes em uma mesma classe.

Por favor pessoal, nunca faça isso. Não use acentos e nem caracteres especiais no desenvolvimento de software. A linguagem de programação foi feito na língua inglesa, pode acontecer problemas em relação ao isso.

Abraço a todos!
voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: Joaquim Rendeiro - 6/3/2009 0:00:00
"Não use acentos e nem caracteres especiais no desenvolvimento de software. A linguagem de programação foi feito na língua inglesa, pode acontecer problemas em relação ao isso."

Há várias razões para não incluir caracteres acentuados (ou caracteres especiais em geral) no código, tais como facilitar o desenvolvimento por equipas internacionais, suportar editores com diferentes capacidades, entre outras.

O facto de C# ter sido concebido e implementado em inglês NÃO É UMA RAZÃO! A plataforma .NET e a linguagem C# são perfeitamente capazes de lidar até com variáveis/métodos/classes/etc declarados em caracteres chineses no código fonte.
Comentado por: Mauricio Junior - 7/3/2009 0:00:00
Olá Joaquim, obrigado por comentar no pequeno artigo. A minha proposta com o artigo foi de, mostrar para o desenvolvedor que utilizar palavras acentuadas, caracteres especiais; ou seja; que existe só na lingua portuguesa não faz parte do padrão de codificação da Microsoft. Está fora do Pattern and Practics.
Comentado por: Joao - 19/3/2009 0:00:00
A linguagem aceita perfeitamente acentos. Do contrario o "compilador" barraria. Acho q seu artigo foi feliz na argumentacao.
Comentado por: Henrique - 7/4/2009 0:00:00
Ridículo.

Principalmente tratar como um erro imperdoável do "Consultor Renomado".

Se você está escrevendo um código em portugues (nomes de métodos, classes, etc, em português) eu não vejo problema algum.

Prefiro que o código esteja em inglês.
E tenho ojeriza a propriedades como: "EhValido" "EhProdutoRelacionado"

(não que ÉValido fique melhor, na minha opinião ambos ficam péssimos, mas não vejo problemas com a variável "opção")
Comentado por: alfredo - 10/4/2009 0:00:00
is odd someone write in Portuguese is more valid,
did not document any pattern of development or to develop methodology that lets the desenvolverdor be free ..
--------
é estranho alguém escrever em portugues mais é valido,
não tendo nenhum documento de padrão de desenvolvimento ou de metodologia para desenvolver isso deixa o desenvolverdor ficar livre..
Comentado por: rafael - 9/5/2010 0:00:00
Adorei gostei muito, em questão de programação tem muitas dicas boas, estou iniciando em programação ja encontrei aqui o que eu queria.
Comentado por: Tony Rodrigues - 8/9/2011 0:00:00
Interessante isso tudo que você falou...

Você se baseia em que pra falar o que um desenvolvedor pode ou não usar em seus projetos?

Dá erro se eu criar uma variável com assentou ou ç?
Prejudica o desempenho do programa?

Seu artigo não me conveceu (ainda)... Se eu optar por usar acentos e ç nas minhas variáveis não vai mudar em nada...

Você falou que a linguagem de programação foi feita na língua inglesa.... mas minhas variáveis são escritas na linguagem que eu quiser, e escolhia a língua portuguesa, não vejo o porque de não usar esses caracteres especiais.


Tudo bem que você queria passar uma informação que jugou relevante, más não precisava menosprezar o "consultor altamente capacitado" mostre que você é altamente capacitador por suas obras e não apontando os erros dos outros.
Comentado por: Mauricio Junior - 9/9/2011 0:00:00
Olá Tony,
Obrigado por comentar no artigo publicado.

O meu objetivo maior no artigo foi informar que não é bom utilizar caracteres especiais quando está programando. Alguns compiladores, principalmente os antigos, podem não funciona no momento de execução.

Na fase de desenvolvimento e compilação pode até funcionar, mas na execução pode dar algum tipo de erro.

Qualquer dúvida pode entrar em contato.

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Windows Phone 7 Multi Touch
Desenvolvendo com camadas utilizando C#
GridView Parte III
Find My iPhone
Emulando o Windows Phone 7 em seu celular
Detectando ENTER
Botão abrindo janela de forma modal
Tecla ESC na tela WEB
Trabalhando com GridView e BoundField escondido
Windows 7
Download grátis - Sistema de Controle de Combustível
Vídeo Live Search
Clique ENTER usando C#.NET
Código fonte aberto
Sistema de Catalogar Livros
Pegando erro na aplicação web
Sistema em ASP 3.0 utilizando 3 camadas – Parte 3
Web 2.0 - A máquina somos nós
Ativando debug do VS no Vista
Método SHA1
HTC x LG x Samsung com Windows Phone 7
Registro Encontro .NET (Fotos)
Enviando E-mail com Anexo
Promoções de livros móveis .NET
Visual Source Safe ? Série 2
Lendo o livro O Efeito Facebook
Criando a Tag Cloud em C#
II Encontro .NET em Brasília
LER: prevenir ou remediar?
Enviado email anexado
Zune
Adicionar uma coluna em um DataTable
Vírus do Serasa por E-mail
Trabalhando com diretório e arquivo
Propaganda Microsoft - Vemos como será e não como é.