[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