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
