[Cascavel-pm] [Spam] Re: [Spam] Re: PrincipaisContribuidoresCascavelPM

André Garcia Carneiro andre.garcia.carneir em terra.com.br
Segunda Maio 28 10:36:21 PDT 2007



> On 5/28/07, Nelson Ferraz <nferraz em gmail.com> wrote:
> > Se você acredita que separar a declaração do seu uso de uma variável
> > torna seus scripts mais legíveis... vá em frente.
> 
> Isso normalmente é hábito repassado por programadores antigos. Em
> versões antigas de C e acho que em Pascal também (além de linguagens
> como Fortran 77) era necessário que as variáveis fossem todas
> declaradas no início de uma função ou até mesmo dentro de um bloco de
> declaração de variáveis.

Devo confessar que esse é um motivo sim... um fragmento de memória, por assim dizer.

> Com isso, muitas pessoas costumam repassar o meme de que declarar as
> variáveis todas em um bloco só é mais legível. De fato, para essas
> pessoas realmente deve ser. 

Com certeza é, para mim.

> Contudo, elas devem ser instruídas que
> este comportamento não é mais adequado ao dia de hoje. Em linguagens
> mais voltadas para performance, como C, a declaração de variáveis deve
> ser feita o mais perto possível de onde ela será usada. Mesmo em um
> loop, se o corpo do mesmo for grande e a variável utilizada muitas
> vezes, talvez exista um ganho de performance ao colocar pra dentro do
> bloco, apesar do tempo de alocação e dealocação (mas, realmente, em C,
> normalmente a diferença entre alocar dentro e fora é mais notável, mas
> então, que declare a variável *logo antes do loop*, se visa
> performance).

Se você pode declarar uma vez só, por que fazer isso várias vezes, ou seja, por quê fazer isso dentro de um
loop, por exemplo? Para mim continua esquisito.

> > Eu pessoalmente discordo: as variáveis deveriam ter o menor escopo
> > necessário, para que nós possamos "esquecer" delas onde não são
> > necessárias.
> 
> Exatamente. Aplicar o conceito de escopo corretamente é extender o
> conceito de eliminação de variáveis globais, o que é bom, em geral.


Bom quanto a eliminar variáveis globais eu concordo, embora não ache que tenha algo a ver com o que estamos
questionando aqui. Posso muito bem declarar minhas variáveis locais no início da subrotina como gosto de fazer... 
Mas com certeza esse comportamento que vocês sugerem na hora de escrever subrotinas, parece influenciar
bastante o não uso de variáveis globais, já que aproxima a variável de onde ela será usada, o que reforça e
deixa mais 'óbvio' o uso de variáveis locais.


Cheers!
 
> -Nilson Santos F. Jr.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> 
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=andre.garcia.carneir&_l=1,1180372544.745266.26911.tacamaca.hst.terra.com.br,5254,Des15,Des15
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 28/05/2007 / Versão: 5.1.00/5040
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
> 
> 

--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



Mais detalhes sobre a lista de discussão Cascavel-pm