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

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Maio 31 01:17:57 PDT 2007


On May 30, 2007, at 9:14 PM, Nilson Santos Figueiredo Junior wrote:
> Na verdade, o ideal mesmo é declarar variáveis quando for utilizar. No
> gcc, existe uma diferença de performance entre os seguintes códigos:

   [C was here]

> O segundo deve ser ligeriamente mais rápido. Aliás, nesse caso
> simples, talvez o otimizador acabe otimizando as duas coisas pra mesma
> coisa. Mas supondo uma função com corpo maior, mesmo com o mesmo
> escopo, ele conseguirá otimizar melhor se a variável tiver sido
> declarada mais perto de onde é utilizada.

   Hum. Eu confio que o compilador consegue otimizar na maior parte  
do tempo.

> Pra mim, declarar em um lugar e só atribuir em outro é algo feio e que
> me faz lembrar programadores acostumados com linguagens não-modernas.

   Isso é uma questão quase tão pessoal quanto "cuecas brancas ou  
pretas?"...

> Então, normalmente, meu código será assim:
>
>   sub method {
>     my ($self, @args) = @_;
>     my $value = $self->another_method(@args);
>     my $another_value = $value->yet_another_method;
>     return $self->baz($another_value);
>   }
>
> ao invés de algo como:
>
>   sub method {
>     my ($self, @args) = @_;
>     my ($value, $another_value);
>     $value = $self->another_method(@args);
>     $another_value = $value->yet_another_method;
>     return $self->baz($another_value);
>   }

   Eu gosto de atribuições em lista:

   my ( $value, $another_value ) = ( $self->another_method(@args),  
$value->yet_another_method );

   Mas neste caso específico, por causa do uso antecipado de  
"$value", eu acho que não funciona. :-)

> Mas isso acho que é só uma questão de preferência. Mas quando eu vejo
> um "bloco de declaração de variáveis" eu já fico ressabiado com o
> código.

   Certo, certo. Eu nunca tenho mais do que duas-três linhas dentro  
de um bloco. Mas, claro, isso depende muito do que você está fazendo.  
Tenho programas aqui que seguem o Stovepipe Pattern exatamente, e tem  
apenas um bloco sintático para quase 10_000 linhas de código (uma  
vergonha muito grande, se você quer saber).

   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




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