[Cascavel-pm] Legibilidade do map()... [Was: Duvida $dbh->prepare]

Solli Honorio shonorio em gmail.com
Sexta Janeiro 26 15:56:48 PST 2007


On 1/26/07, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>
> On Jan 26, 2007, at 3:38 PM, André Garcia Carneiro wrote:
> >> Igor Sutton escreveu:
> >> André,
> >>> map{ $sth->prepare_cached($_); $sth->execute; ...  }@SQL;
> >>
> >> Usar map para isto é mau, muito mau. Evite utilizar map como
> >> substitutos para um foreach. Prefira, neste caso:
> >
> > Por quê??
> >
> > Acho que "visualmente" falando é mais fácil ler
> > map {}@list; do que
> > my @list;
> > foreach $item(@list)
> > {
> > #blablabla
> > }
>
>   Eu concordo com o André, Igor.
>   Eu acho que entre map() e foreach() é complicado escolher.
>   Tem gostos e gostos.
>   Se você tem code-style para seguir, bem.
>   Caso contrário, é complicado dizer quem é mais legível...
>
>   Putamplexos, sempre achando que chinês é completamente
> ilegível... ;-)


Meu amigo, o negócio não é bem assim ... você, como poucos, sabe que estas
diferenças o motivo de existir e cada qual tem a sua penalidade.

Colocando em números dê uma olhada no benchmark do map sendo utilizado como
foreach :
<code>
use Benchmark;

Benchmark::cmpthese( -10, {
        'foreach' => sub { foreach ( 1..1000 ) { $_++ } },
        'map'     => sub { map { $_++ } ( 1..1000 ) },
    });
</code>

<resultado>
          Rate     map foreach
map     2830/s      --    -53%
foreach 5966/s    111%      --
</resultado>

Estilo sim, mas matar a gramática não :)... e os números mostram que devemos
utilizar 'map' como "map" e 'foreach' como "foreach".

Abraços,

Solli M. Honório
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070126/b1a94643/attachment.html 


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