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
