Para tudo, se você deseja verificar os argumentos que seus métodos vão receber 
e também com performance não use uma linguagem dinâmica.

"Programs written in dynamically typed languages require large suites of tests 
to give some assurance that simple type errors cannot occur. Test suites cannot 
offer complete coverage: some common tasks, such as refactoring a program to 
make it more modular, can introduce new type errors that a test suite may not 
expose." 

Eu usaria Haskell, por nativo proporciona que todas funções sejam avaliadas em 
compile time, eu odeio escrever testes. Por exemplo, toda expressão em Haskell 
tem um tipo declarado.

Prelude> :type odd
odd :: Integral a => a -> Bool

A função "odd" recebe um único valor inteiro e retorna um valor booleano.


-- 
Software Engineer
Just Another Perl Hacker
Daniel Mantovani +5511 8538-9897
XOXO

On Jun 21, 2012, at 3:40 PM, Thiago Yukio Kikuchi Oliveira wrote:

> 2012/6/21 Solli Honorio <[email protected]>:
>> Ok, mas aparentemente a penalidade de desempenho não vale a pena ainda...
>> 
>> Solli Honorio
> 
> Não utilize do MooseX::Method::Signature, ele é muito lento.
> Utilize o Method::Signatures pois é muito mais rápido.
> Olhe a comparação dos dois:
> http://www.dancygier.com/wordpress/2011/03/06/methodsignatures-blazing-fast-and-makes-me-sane/
> 
> Existe o módulo Method::Signatures::Modifiers que permite  utilizar o
> MooseX::Declare com o  Method::Signatures
> ao invés do MooseX::Method::Signature.
> 
> 
> Thiago
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: [email protected]
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer

=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a