Perl::Critic::Policy::Moose::RequireCleanNamespace - Require removing implementation details from you packages.
version 1.05
Anything in your namespace is part of your interface. The Moose sugar is an implementation detail and not part of what you want to support as part of your functionality, especially if you may change your implementation to not use Moose in the future. Thus, this policy requires you to say no Moose; or no Moose::Role;, etc. as appropriate for modules you use.
no Moose;
no Moose::Role;
use
This policy is part of Perl::Critic::Moose.
By default, this module will complain if you use Moose, Moose::Role, or Moose::Util::TypeConstraints but don't unimport them. You can set the modules looked for using the modules option.
Moose::Util::TypeConstraints
modules
[Moose::RequireCleanNamespace] modules = Moose Moose::Role Moose::Util::TypeConstraints MooseX::My::New::Sugar
This module also knows that namespace::autoclean will clean out imports. If you'd like to allow other modules to be recognized as namespace cleaners, you can set the cleaners option.
cleaners
[Moose::RequireCleanNamespace] cleaners = My::Cleaner
If you use use a module with an empty import list, then this module knows that nothing needs to be cleaned, and will ignore that particular import.
Moose::Manual::BestPractices
Bugs may be submitted through the RT bug tracker (or bug-perl-critic-moose@rt.cpan.org).
I am also usually active on IRC as 'drolsky' on irc://irc.perl.org.
irc://irc.perl.org
Elliot Shank <perl@galumph.com>
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2008 - 2016 by Elliot Shank.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Perl::Critic::Moose, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic::Moose
CPAN shell
perl -MCPAN -e shell install Perl::Critic::Moose
For more information on module installation, please visit the detailed CPAN module installation guide.