NAME
Perl::Critic::Policy::logicLAB::RequirePackageNamePattern - simple policy for enforcing a package naming policy
AFFILIATION
This policy is a policy in the Perl::Critic::logicLAB distribution. The policy is themed: logiclab.
VERSION
This documentation describes version 0.05.
DESCRIPTION
The policy can be used to enforced naming conventions for packages.
SYNOPSIS
Policy configuration:
[logicLAB::RequirePackageNamePattern]
names = Acme
Your package:
package This::Is::A::Test;
# code goes here
1;
Invocation of policy:
$ perlcritic --single-policy logicLAB::RequirePackageNamePattern lib
Explanation:
Use specified requirement for package naming for This::Is::A::Test
Description:
Package name: This::Is::A::Test is not complying with required standard
CONFIGURATION AND ENVIRONMENT
This policy allow you to configure the contents of the shebang lines you want to allow using "names".
names
names
, is the configuration parameter used to specify the patterns you want to enforce.
The different usage scenarios are documented below
Toplevel namespace
[logicLAB::RequirePackageNamePattern]
names = ^App::
Subclass
[logicLAB::RequirePackageNamePattern]
names = ::JONASBN$
Postfix
[logicLAB::RequirePackageNamePattern]
names = Utils$
Prefix
[logicLAB::RequirePackageNamePattern]
names = ^Acme
Contains
[logicLAB::RequirePackageNamePattern]
names = Tiny
Or
[logicLAB::RequirePackageNamePattern]
names = Acme || logicLAB
debug
Optionally and for development purposes I have added a debug flag. This can be set in your Perl::Critic configuration file as follows:
[logicLAB::RequirePackageNamePattern]
debug = 1
This enables more explicit output on what is going on during the actual processing of the policy.
DEPENDENCIES AND REQUIREMENTS
INCOMPATIBILITIES
This distribution has no known incompatibilities.
BUGS AND LIMITATIONS
There are no known bugs or limitations
TEST AND QUALITY
The following policies have been disabled for this distribution
Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma
Constants are good, - see the link below.
See also t/perlcriticrc
TEST COVERAGE
Coverage test executed the following way, the coverage report is based on the version described in this documentation (see "VERSION").
./Build testcover
---------------------------- ------ ------ ------ ------ ------ ------ ------
File stmt bran cond sub pod time total
---------------------------- ------ ------ ------ ------ ------ ------ ------
...uirePackageNamePattern.pm 89.2 68.2 36.4 100.0 100.0 100.0 82.5
Total 89.2 68.2 36.4 100.0 100.0 100.0 82.5
---------------------------- ------ ------ ------ ------ ------ ------ ------
SEE ALSO
AUTHOR
Jonas B. Nielsen, jonasbn
<jonasbn@cpan.org>
ACKNOWLEDGEMENT
Jeffrey Ryan Thalhammer (THALJEF) and the Perl::Critic contributors for Perl::Critic
LICENSE AND COPYRIGHT
Copyright (c) 2013-2015 Jonas B. Nielsen, jonasbn. All rights reserved.
Perl::Critic::Policy::logicLAB::RequirePackageNamePattern; is released under the Artistic License 2.0
The distribution is licensed under the Artistic License 2.0, as specified by the license file included in this distribution.