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

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


 
> Esta não é uma justificativa muito boa, pois, em geral, o tempo de  
> alocar e desalocar a variável tem um impacto muito menor do que  
> *qualquer outra coisa* que você faça a seguir.

Talvez não no caso dele, mas se houvessem muitas iterações(muitas mesmo),  você há de concordar que é
desnecessário alocar variáveis dentro de iterações...
 
> No exemplo em questão, onde temos uma chamada realmente lenta dentro  
> do loop, pode-se dizer que este tempo é desprezível.

Novamente, no caso dele não... por isso eu disse 'evite', e não 'não use'... 
 
> > Mas a questão é mais por organização(claro que isso depende do seu  
> > ponto-de-vista também), mas eu
> > pessoalmente prefiro alocar as variáveis que eu vou precisar no  
> > início da subrotina, onde(para mim) fica mais
> > fácil encontrar e porque costumo reservar esse espaço para fazer  
> > comentários nas minhas variáveis, ao invés de
> > espalhar os comentários pelo código.
> 

> Este é um hábito que você deveria rever.

Na sua opinião...

> Declare as variáveis no menor escopo possível, de forma que elas não  
> sejam usadas por mais tempo do que o necessário (tanto do ponto de  
> vista do computador, quanto do programador -- ao restringir o escopo,  
> você deixa de se preocupar com os efeitos colaterais de uma variável).

Pra mim sempre vai ser no mínimo esquisito alocar variáveis dentro de iterações. 

> Em resumo:
> 
> Não ajuda em termos de performance, e prejudica em termos de  
> organização.

Ajuda no desempenho em casos que se haja muita iteração, e ajuda na organização para mim, poi s não fico
espalhando 'my $var;' para todo o canto da minha subrotina.

Mas ainda bem que cada um tem direito a sua opinião por aqui... :-|

Cheers!


--
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