On Sep 19, 2005, at 2:08 PM, Phillip J. Eby wrote:

At 01:31 PM 9/19/2005 -0700, Alec Flett wrote:

Ted Leung wrote:

One of the items is to move away from use of onValueChanged and go back to using constructors for creating various collection kinds. Unfortunately, this means that we wouldn't be able to use update to change existing instances in the repository.


As I recall, the issue around this was that if we marked an attribute as "readonly" then there wasn't an obvious way to actually initialize that attribute. If Andi can give us a way to initialize the attribute, and tell Phillip about it so he can make the schema stuff initialize correctly, then can't we make 'sources' be readonly?

Also, I just today noticed InclusionExclusionCollection's 'setup' method. I'm curious why some of this stuff can't be just set in the constructor? I think this is kind of tied up in this onValueChanged/readonly sources issue, which is why I bring it up. I'm hoping maybe pje will have some brilliant idea how to get rid of 'setup' because it kind of breaks our model of just using 'update' to initialize and create items.


I've been kind of thinking that allowing attributes' defaultValue and initialValue to be functions instead of values would solve this and eliminate other kinds of constructor fiddling that currently exist. Beyond that, this specific problem really needs a sort of "derived attribute", which would be a useful feature to have in general.

Anyway, I don't have any ideas that are more than half-baked on this at the moment, so I'm inclined to say we should stick with what already works for the time being. The TDD folks like to say they want "clean code that works", but they also point out that you have to start with the code that works, and *then* you clean it. It doesn't work so well the other way around. :)

+1

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to