(2009-01-20) Design Discussion
Topics:
= pro_lib = - designed to help people! If they are not helping, either something should be fixed or people do not understand how to use it.
* attibute - self responsible.
* do not care about initializing order.
* good practices:
* defaulty constructors.
* avoid final properties.
* push updates - instead of updating things manually, provide these things the ability to auto-update.
* avoid trying to use unconventionally the pro_lib since this is error prone.
* Property improper use cases:
* accessing an AutoProperty WILL NOT invoke its compute() method!
* resource properties:
* create method should depend on NOTHING => it is invoked once and will not update things.
* setup methods are designed to keep things synchronized for people. @Setup may be put to split setup things in different methods, so that they are updated in groups.
* destroy methods are not working.
* List properties.
= core_modularity =
* extensions are now sortable by comparator.
= base_visual =
== layout ==
== menus ==
* this is a new module to split the layout and menus from the main.view things.
= base_skins =
* provides things to simplify things that are registered for a single skin => currently a map with (id, value) entries.
= global things =
* few people have a global vision about things.
* people should get a better overall idea.
* supercool model.
* not only implement a great library but find a task to actually use it and also do that task.
* this will improve the library.
* things that are error prone will appear.
* the "not my task/class" problem (people tend to do only things that are tracked and planned):
* the code is owned by everyone!
* fix things that need to fixed in order to implement you things, otherwise the next revision of the task will fail.
* if the things are complicated to be fixed, ask the others, make discussions about it.