Moose очень хорош, но иногда простые опечатки могут вызывать невероятно захватывающие длинные стековые трассы с, с моей точки зрения, нулевым полезным контентом.
Итак, есть ли какие-то инструменты, чтобы интерпретировать это как нечто взрывное?полезно?
В частности, для классов, использующих обычный Moose, Moose + MooseX :: Method :: Signatures и MooseX :: Declare.
Инструменты должны быть полезны только при разработке, чтобы поймать ихопечатки или проблемы с мышлением, из-за которых вещи просто не работают.
=========================
Следующее предложениениже, я использую этот не совсем модуль, который немного уменьшает мои головные боли, хотя приветствуются новые идеи:
package MooseX::QuietCarping;
# Not actually a Moose thing, but helpful for Moose.
# calm Moose-internal stacktraces down a little
use Carp;
my %retain = ();
sub import {
my $class = shift;
$retain{$_}++ for @_;
}
CHECK {
for (sort keys %INC) {
s{\.pm$}{};
s{[/\\]}{::}g; # CROSS PLATFORM MY ARSE
next if $retain{$_};
$Carp::Internal{$_}++ if /^(?:Class::MOP|Moose|MooseX)\b/
}
%retain = (); # don't need this no more
}
1;