NAME
Perl::Critic::Policy::Moose::ProhibitNewMethod - Don't override Moose's standard constructors.
VERSION
version 1.05
DESCRIPTION
Overriding new()
on a Moose class causes a number of problems, including speed issues and problems with order of invocation of constructors when multiple inheritance is involved. Use BUILDARGS()
and BUILD()
instead.
AFFILIATION
This policy is part of Perl::Critic::Moose.
CONFIGURATION
There is a single option, equivalent_modules
. This allows you to specify modules that should be treated the same as Moose and Moose::Role, if, say, you were doing something with Moose::Exporter. For example, if you were to have this in your .perlcriticrc file:
[Moose::ProhibitNewMethod]
equivalent_modules = MyCompany::Moose MooseX::NewThing
then the following code would result in a violation:
package Baz;
use MyCompany::Moose;
sub new {
...
}
SEE ALSO
SUPPORT
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
.
AUTHORS
Elliot Shank <perl@galumph.com>
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE
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.