# from David E. Wheeler
# on Saturday 27 September 2008 13:55:

>> Could we have that with the original indentation please?
>
>Which is what? I can't make heads or tails of it.

Ack.  I should have said "without the 32-line ternary".  Please.  I'm 
all for refactoring, but some of that should really come in more than 
one piece.

Otherwise it is very difficult to review.

I think this needs to seek "one of the other ways to do it":
  # Allow to work in class or object context.
  my $x = do { no strict 'refs'; $self->{properties} };
  return $x->{$property} unless @_;

When you have two 'it's, one of them should have a name
    for (reverse shift->_mb_classes) {
      @out{ keys %{ $valid_properties{$_} } } = map {
          $_->()
      } values %{ $valid_properties{$_} };
    }

But, I have doubts about the "everything is a sub" approach here.  If 
the default is a subref, that implies that we always call it (e.g. 
creating a new anonymous ref ala moose) rather than ever holding the 
value -- and if that were the case then valid_properties_defaults() 
would not exist?  That is, take a look at _set_defaults().

Thanks,
Eric
-- 
Turns out the optimal technique is to put it in reverse and gun it.
--Steven Squyres (on challenges in interplanetary robot navigation)
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to