Perl-Critic policies for isolated Refactoring-Support.
This Perl-Critic Policy-Modules should help where to start a safe refactoring in old legacy Perl code.
The McCabe complexity check within the standard Perl-Critic Module are a good overall starting point see:
- Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity
- Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity
but these are for some bigger scans, so these new policies should check (or begin) in smaller chunks:
- ProhibitReturnBooleanAsInt - return boolean as int "return 1;"
- ProhibitConditionComplexity - condition complexity "if/while/for/... (...){}"
- ProhibitManyConditionsInSub - subs has many conditionals "if, while, for, ..."
- ProhibitLargeBlock - large code block as statement count "{...}"
- ProhibitBlockComplexity - code block complexity "{...}"
- ProhibitLargeSub - large subs as statement count
- ProhibitLargeFile - large files as line count
- ProhibitFileSize - large files as byte or char count
To install this module via CAPN, run the following commands:
cpanm Perl::Critic::Mardem
To install this module from source, run the following commands:
perl Build.PL
./Build
./Build test
./Build install
Each policy has its own detailed documentation see Perl::Critic::Mardem on MetaCPAN.
Please report bugs as GitHub-Issue.
The source code repository can be found on GitHub.
see Changes
Markus Demml, mardem@cpan.com
Copyright (c) 2024, Markus Demml
This library is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. The full text of this license can be found in the LICENSE file included with this module.
This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.