[SP-pm] E eu não usei AUTOLOAD... [Was: Boas vindas ao Igor Sutton Lopes]

Luis Motta Campos luismottacampos em yahoo.co.uk
Terça Fevereiro 13 08:50:08 PST 2007


On Feb 13, 2007, at 5:17 PM, Eden Cardim wrote:
> On 2/13/07, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>>    Putamerda, eu não usei AUTOLOAD, fica sossegado...
>>    Era apenas uma dúzia de accessors, e eu copiei e colei um por um,
>> trocando apenas duas palavras em cada um. Mas, pelo menos, ficou
>> decente.
>
> <code>
>   use Moose;
>
>   has $_ => (isa => 'Str', is => 'rw') foreach qw/foo bar/;
> </code>
>
> Ou estou sendo inxerido? :P

   Bom, na verdade, os accessors são para uma função.
   Eu estou mantendo um sistema legado de Logging (por favor não me  
falem em substituição, não é possível, tem de seguir com o que a  
gente tem).
   Um bárbaro desenvolveu um wrapper em torno do Sys::Syslog (não  
muito mau) para fazer registro das atividades.
   Para facilitar a vida dele (e de todo mundo), ele gerou as  
funcionalidades dos log-levels, mais ou menos assim:

   foreach $level ( @loglevels ){
     *{$level} = sub { my $self = shift; my $msg = shift; $self->log 
( $level, $msg ); };
   }

   Desculpem pela amostra barata. Os NDAs que eu assinei não permitem  
código de verdade, mas isso dá para o gasto.

   Claro, gerar accessors cada vez que você inicia um modulo de log -  
que é uma coisa que os caras deixam morrer com o contexto  
praticamente o tempo todo, preocupados com buffer flushing (vai  
entender a ligação...)

   O que eu fiz foi fixar os log-levels (não eram fixos, nem  
padronizados) e escrever os "accessors" para as funções à mão.

   Agora vou criar o pacotinho (alguém indica um tutorial para  
marinheiro de primeira viagem?) para o deployment, e amanhã vamos  
colocar na produção.

   É tudo.
   Putamplexos!
--
Luis Motta Campos is a software engineer,
perl fanatic evangelist, and amateur {cook, photographer}




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