This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
- There is no good overview of all the possible states:Agreed :). Well there probably is, but not all the classes follow it which makes it hard
- Some are defined as static (inner) inner classesI would say that the (inner) inner classes are/should be for transitional states. So for example
- Others are defined as anonymous inner classesHmm.. Cagney can probably give a better answer to this. My conclusion from previous code
- There are a couple of State classes that are never actually usedThese should be made abstract.
themselves, but that are only used to derive more specific (inner)
State classes from but that aren't marked abstract.
YupThis means that some states are visible in the api docs, while others are not and that some that do exist are never actually used.
- Some state transitions depend on and manipulate "external state" like
the Task.blockers list field.
It isn't immediately clear whether these fields can or cannot beI dont think the state is religiously described by TaskState. Some information is
manipulated outside an state transition between TaskStates. Or if a
Tasks state is really defined by the TaskStates or whether there is some
other parts of state for a Task and Proc that might or might not be
visible/used by the TaskStates when handling state transitions.
Duplicate code worries me too. Inheritance is a solution but as Cagney as mentioned- Some methods like handleAddObserver() and handleDeleteObserver() always do the same thing and never actually do any state transition.
This adds a lot of (duplicate) code without being clear what it has to
do with with the actual state machine.
Just thought I would write these observations and send them to the listAll the bad code I think is probably a reslut of the fact that the state machine is desigen bottom
for others studying this part of the code and maybe to get some feedback
on some if the design because I still don't have a very good feeling for
the real working of the task state machine.
Happy hacking :) Sami
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |