[Dev] Action items from collections code/design review

Phillip J. Eby pje at telecommunity.com
Mon Sep 19 14:08:56 PDT 2005


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.  :)



More information about the Dev mailing list