Moose es muy bonito, pero a veces los errores simples pueden causar largas tiradas emocionantes y excitantes con, desde mi punto de vista, cero contenido útil.Errores útiles para Moose y MooseX :: Declare
Entonces, ¿hay alguna herramienta para interpretar esta explosión en algo útil?
En particular para las clases que usan Moose simple, Moose + MooseX :: Method :: Signatures, y MooseX :: Declare.
Las herramientas solo necesitan ser útiles mientras se desarrollan para detectar esos errores o problemas que hacen que las cosas no funcionen.
=========================
Siguiendo la sugerencia de abajo, estoy usando esta no-absolutamente-a-módulo- sin embargo, que es la reducción de mis dolores de cabeza un poco, dan la bienvenida más ideas, sin embargo:
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;
+1 Siento tu dolor. – friedo
Tenga en cuenta que el equipo de Moose también depende de los comentarios de la comunidad sobre los errores que podrían ser atrapados. A stacktrace suele ser mucha más información de la requerida, pero se asegura de que generalmente no sea demasiado pequeña. Un mensaje de error mejor suele ser una solicitud de función bienvenida. – phaylon
@phaylon Probablemente estés en lo cierto, pero preferiría que mi software estuviera diseñado para los usuarios que para los autores. – Schwern