En cuanto a la configuración de un perfil, ¿ha intentado perlcritic --profile-proto
? Esto emitirá para extender todas sus políticas instaladas con todas sus opciones con descripciones de ambos, incluidos sus valores predeterminados, en formato perlcriticrc. Guarde y edite para que coincida con lo que desea. Cada vez que actualice Perl :: Critic, es posible que desee ejecutar este comando nuevamente y hacer una diferencia con su perlcriticrc actual para que pueda ver los cambios en las políticas existentes y recoger las nuevas.
En términos de ejecutar perlcritic regularmente, configure una prueba Test::Perl::Critic junto con el resto de sus pruebas. Esto es bueno para el nuevo código.
Para su código existente, use Test::Perl::Critic::Progressive en su lugar. T :: P :: C :: Progressive tendrá éxito la primera vez que lo ejecute, pero guardará las cuentas en la cantidad de violaciones; a partir de entonces, T :: P :: C :: Progressive se quejará si sube el conteo. Una cosa a tener en cuenta es cuando revierte los cambios en su sistema de control de origen. (Estás usando uno, ¿no?) Digamos que verifico un cambio y realizo pruebas, y mis cambios reducen el número de violaciones P :: C. Más tarde, resulta que mi cambio fue malo, así que vuelvo al código anterior. La prueba progresiva T :: P :: C :: fallará debido a los recuentos reducidos. Lo más fácil de hacer en este punto es simplemente eliminar el archivo de historial (ubicación predeterminada t/.perlcritic-history) y ejecutar de nuevo. Debería reproducir tus antiguos conteos y puedes escribir cosas nuevas para derribarlos nuevamente.
Perl :: Critic tiene muchas políticas que lo acompañan, pero hay un montón de distribuciones adicionales de políticas. Eche un vistazo a Task::Perl::Critic y Task::Perl::Critic::IncludingOptionalDependencies.
No necesita tener un solo perlcriticrc manejar todo su código. Cree archivos perlcriticrc por separado para cada conjunto de archivos que desee probar y luego una prueba separada que apunte a cada uno. Por ejemplo, eche un vistazo a las pruebas de autor para P :: C sí mismo en http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/. Cuando se ejecutan pruebas de autor, hay una prueba que se ejecuta sobre todo el código de P :: C, una segunda prueba que aplica reglas adicionales solo en las políticas, y una tercera que critica las pruebas de P :: C.
Personalmente, creo que todo el mundo debe ejecutar al nivel de gravedad "brutal", pero anular las políticas que no están de acuerdo. Perl :: Critic no es totalmente autocomplaciente; incluso los desarrolladores de P :: C no están de acuerdo con todo lo que dice Conway. Mire los archivos perlcriticrc usados en Perl :: Critic mismo y busque el código de Perl :: Critic para las instancias de "## no critical"; Cuento 143 en la actualidad.
(Sí, soy uno de los desarrolladores de Perl :: Critic.)
¿Qué quiere decir con "funcionamiento inmediato"? – svrist
Con "Up and running", me refiero a configurar la crítica según mis necesidades (sé que existe Perl :: Critic :: Config, pero al ser un codificador de Perl, estoy tratando de ser muy flojo :)) y ejecutarlo mi código base Actualizaré la pregunta. – Jagmal