Since I can't resist (dam that human nature) I suggest the following
color for the bike shed.

get and set should NOT exist, but through AUTOLOAD they can be called.
This may open a can of worms (aka flames) since there is overhead in
using AUTOLOAD, but we can cache the calls and not lose in the grand
scheme.  A method would simply be named 'story' (example from earlier
post). Using AUTOLOAD would allow for get_story, getStory, set_story,
setStory etc.  I suggest this for developer efficiency.  It also may
allow for easier transition from other languages as well. We can always
override it with there own method that is explicit in name.

I also think that all get and set action should be handled from within
the same method.  I find this to be one of the great things about Perl,
you don't have to create a different method (unless you are
prototyping?) for the number of possible incoming variables as you do in
languages like Java (I don't claim to be a Java expert so it may be my
lack of experience that makes me say this).

One last suggestion would be to have a default (master) 'new' that will
create attributes within the object for whatever is passed in.  That is
if I say:
my $object = P5EE->new( madeup => 'value', another => 'value', realName
=> 'value' );
The 'new' method would store these values and calls to them could be
made via AUTOLOAD.  So later we could call:
get_madeup();

the AUTOLOAD sub would remove the get_ see that madeup doesn't exist as
a method and then attempt to return the value of it in the current
object or set it if it was set_ for example.  I suggest this since it
allows the developer an easy way to add a value at some point during
development in the object with out having to fiddle with the class files
(something I found myself doing to often).

I guess that brings me to another glaring concern.
What is/should p5ee be optimized for?  (initial developer, maintainer,
system resources, new programmers, OOP gurus, etc.)

Aaron Johnson





Reply via email to