[SP-pm] [Announce] � do Net::Squid::Auth::Plugin::SimpleLDAP

Alexei Znamensky russoz at gmail.com
Mon Mar 8 07:19:16 PST 2010


Fields,

2010/3/8 Luis Motta Campos <luismottacampos em yahoo.co.uk>
[...]

>
> TDD é bom quando você não sabe o que quer, ou quando não é possível
> manter na cabeça o conteúdo todo o que quer que você esteja fazendo.
>

Mas para mim é algo bem divertido de fazer, já que isso tudo (oh, tudo) é
just for fun.


> Quando eu quero um hack rápido, ou uma coisa bem pequena que funcione
> depressa, vai sem testes mesmo... a gente sempre pode adicionar eles
> depois...
>

Justamente, não estou com pressa ;-) ... digo.. levei 2 anos pra mexer nessa
tchnga de novo, se eu disser o contrário vou apanhar.


> Russo, você já deve ter visto que eu atualizei o meu lado do módulo com
> o que estava faltando - referências para o seu módulo e documentação
> para o meu arquivo de configuração - que não precisa muita coisa, de
> qualquer forma.
>

Danke schön!


>
> :) Obrigado pela parceiria, é divertido e estimulante programar coisas
> assim. A gente poderia fazer isso outras vezes. Eu tenho montes de
> tralhas de MySQL que eu quero construir, agora... estou organizando uma
> listinha, vou publicar aqui assim que eu tiver uma idéia boa do que eu
> quero...
>

Se quiser: release early, release often. Solta aí e a gente vai ajudando a
lapidar as coisas.


Aliás, eu coloquei o plugin de Perl::Critic no meu Module::Build. Daí eu
criei a estrutura de um módulo novo - ainda não soltei, é uma outra
trnaqueira que estou mexendo em paralelo - e vi que ele gerou um
t/perlcritic.t. Bacana. Eu vou mandar algumas sugestões para esse template
de teste que o cara mandou, pois dá pra fazer melhor, mas isso é outra
história. Só que daí eu puxei o perlcritic.t para o
Net::Squid::Auth::Plugin::SimpleLDAP e ele pegou umas coisas que eu estava
fazendo errado. Até aí, achei tudo legal.

Mas daí eu publiquei o módulo no CPAN, e recebi o CPAN Testers Daily Summary
Report. Achei muito divertido receber isso automagicamente (eu já não
lembrava mais que tinha isso), só que o meu módulo falhou em TODOS os
ambientes de teste. Fui olhar, e era o Perl::Critic. No meu micro de casa
funciona, lá não. Imagino que seja algo na configuração do Perl::Critic que
eles usam. Eu tentei algumas mudanças, mas não funcionou.

Olhando com mais cuidado, vi que os erros são do tipo:

# Perl::Critic found these violations in
"blib/lib/Net/Squid/Auth/Plugin/SimpleLDAP.pm":
# Private Member Data shouldn't be accessed directly at line 81, column 5.
 Accessing an objects data directly breaks encapsulation and should be
avoided.  Example: $object->{ some_key }.  (Severity: 5)

Mas o código que causa isso (http://miud.in/2ej) é:

sub new {
    my ( $class, $config ) = @_;
[...]
    $config->{userattr} = 'cn' unless $config->{userattr};  <<<<<< AQUI

Perguntas:

1) Porque o PerlPentelho tá reclamando disso? Não estou acessando um objeto.
Não quero que seja um objeto, não preciso que seja um objeto ali. Esse
$config é apenas, e tẽo somente, e nada mais que, uma estrutura de dados.
There is no code. Reclamar que estou quebrando o encapsulamento é o ó do
bórógódó. Para ser gentil.

2) Vocês recomendam usar o perlcritic nos testes do módulo, ou é melhor
tirar essa tchonga logo de uma vez? Eu gosto da idéia de ter um teste desses
no módulo, mas se vai ser pentelho nesse nível, jisuis, eu estou
considerando tirar: muito bonito na teoria, mas na prática não está sendo
tão legal assim.

Funnily enough, instalei o módulo aqui no trabalho, e o Perl::Critic pegou
uns erros diferentes. Lá em casa ele passa nos testes. Ha.. vou me divertir
um bom tanto esta semana, ao que parece.

[]s,
-- 
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
"Though we live in trying times, we're the ones who have to try"
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100308/960649d8/attachment-0001.html>


More information about the SaoPaulo-pm mailing list