perl moose perl-critic perl-tidy

Perl:: Crítica: ¿La vida después de Moose?



perl-critic perl-tidy (4)

Comencé una conversión de un proyecto a Moose y lo primero que noté fue que mis pruebas críticas / ordenadas se van al infierno. Moose, Tidy y Critic no parecen gustarse tanto como solían hacerlo.

¿Hay algún punto sobre cómo hacer que crítico / ordenado esté más agradecido con el dialecto de Moose? ¿Qué hacen la mayoría de los usuarios de Moose? ¿Relájate / critica para los módulos Moose más pesados? ¿Políticas personalizadas?


Ambos pueden configurarse en detalle.

No tengo idea de por qué perltidy no me gustaría, no tiene nada que ver con eso . Perltidy solo gobierna el estilo. Puede cambiar el estilo de su código sin cambiar ninguna funcionalidad, en su mayor parte es una cuestión de espacio en blanco realmente. Debe cambiar su estilo o cambiar la configuración de perltidy utilizando el archivo .perltidyrc.

No sé qué problemas tiene perlcritic (¿quizás lvalue métodos?), Pero podría considerar desactivar esas políticas específicas utilizando el archivo .perlcriticrc. Además, si su perlcritic es antigua, es posible que desee actualizarla, ya que algunas versiones antiguas dieron algunos errores incorrectos en las clases de Moose.


No tengo ningún problema con las pruebas de Crítica, reconozco que corro a severidad = 3, al menos en parte porque parte de lo que tengo que trabajar es un código heredado que no tengo / tiempo / para poner en orden, pero mi material de Moose navega a través de ese.


Las versiones anteriores de la política de "uso estricto" de Perl :: Critic no estaban al tanto de que Moose lo habilitara estrictamente, pero eso se solucionará si actualiza Perl :: Critic.

Uso Perl :: Critic y Perl :: Tidy con Moose, y no veo nada particularmente roto. Bueno, en realidad, no puedo hacer que Perl :: Tidy distribuya cosas como esta correctamente:

my $apple = Apple->new({ color => "red", type => "delicious", });

Tidy insistirá en que (y {hay dos niveles de sangría de apertura, y se verá tan tonto:

my $apple = Apple->new({ color => "red", type => "delicious", });

Pero tuvimos este problema antes; La convención de codificación en el proyecto es usar un hashref, no un hash, para los parámetros con nombre. Entonces no es realmente un problema relacionado con Moose como tal.

¿Cuáles son exactamente tus síntomas?

/ J