merge from trunk to moose-manual branch
Dave Rolsky [Tue, 30 Dec 2008 14:54:21 +0000 (14:54 +0000)]
1  2 
lib/Moose.pm
lib/Moose/Manual/BestPractices.pod

diff --cc lib/Moose.pm
Simple merge
index 8211324,0000000..96b4093
mode 100644,000000..100644
--- /dev/null
@@@ -1,39 -1,0 +1,43 @@@
 +
 +=head1 RECOMMENDATIONS
 +
 +=head2 No Moose and Immutabilize
 +
 +We recommend that you end your Moose class definitions by removing the
 +Moose sugar and making your class immutable.
 +
 +  package Person;
 +
 +  use Moose;
 +
 +  # extends, roles, attributes, etc.
 +
 +  # methods
 +
 +  no Moose;
 +
 +  __PACKAGE__->meta->make_immutable;
 +
 +  1;
 +
 +=head2 Always call SUPER::BUILDARGS
 +
 +=head2 No complex subs for a default, use a builder
 +
 +builders can be inherited, show up more cleanly in profile
 +
 +=head2 use default for simple scalar, and empty refs
 +
 +=head2 use builder for everything else
 +
++don't use initializer
++
 +=head2 use lazy_build
 +
 +keep builders private
 +
 +consider keeping clearers & predicates private
 +
 +consider keeping writers private
++
++=head2 use MX::AH instead of auto_deref