NAME

Perl::Critic::Policy::Moose::RequireCleanNamespace - Require removing implementation details from you packages.

VERSION

version 1.00

DESCRIPTION

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.

AFFILIATION

This policy is part of Perl::Critic::Moose.

CONFIGURATION

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::RequireCleanNamespace]
    modules = Moose Moose::Role Moose::Util::TypeConstraints MooseX::My::New::Sugar

SEE ALSO

Moose::Manual::BestPractices

AUTHORS

  • Elliot Shank <perl@galumph.com>

  • Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2008 - 2015 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.