[IGSTK-Developers] State machine logic for private functions
Luis Ibanez
luis.ibanez at kitware.com
Thu May 25 21:56:34 EDT 2006
Hi Julien,
You are right,
In this particular case there is no significant
gain in adding a StateMachine logic.
Please ignore my comment in the review.
Thanks
Luis
=====================
Julien Jomier wrote:
> Hi Luis,
>
> Thanks for the quick reply.
>
> This is related to the code review for the igstkVesselObject class.
> This class has a private function SetVesselSpatialObject()
>
> /** Set the ITKVesselSpatialObject.
> * this is accessible only from the friend classes */
> void VesselObject
> ::SetVesselSpatialObject( VesselSpatialObjectType * vessel )
> {
> if(vessel)
> {
> m_VesselSpatialObject = vessel;
> this->RequestSetSpatialObject( m_VesselSpatialObject );
> }
> }
>
> Your comment on this: "SetVesselSpatialObject is not protected by state
> machine logic."
>
> This class is strictly a data container. So I'm not sure why we need any
> state machine logic here.
>
> Let me know what you think,
>
> Julien
>
> Luis Ibanez wrote:
>
>>
>> Hi Julien,
>>
>> The fact that the private functions are going to be called by friends
>> doesn't make them totally safe.
>>
>> This is because "Frienship" in C++ just means that your friends have
>> access to your private data, it doesn' mean that they have good
>> intentions, or that they are competetent, or qualified for making
>> decisions for you. C++ "Friends" should actually be called
>> "Confidents", because their role is limited to have access to your
>> private information.
>>
>> It is still important to verify that those private methods will only
>> be called when the class is in a state where it makes sense to
>> execute those methods. (Even if the caller is a so-called "friend").
>>
>>
>>
>> Can you please describe the specific case that you are dealing with ?
>>
>>
>>
>> Thanks
>>
>>
>> Luis
>>
>>
>> -----
>>
>> Each time that you think of making (programmers) life simpler,
>> you should put it in the context of the 84,000 people who died
>> annually in U.S. hospitals as a result of medical errors.
>>
>> What amount of programmer's life simplicity can justify a crash
>> in a software that is being used in the middle of a surgery ?
>>
>> How many patients can be put at risk in order to save a couple
>> of hours of programming time ?
>>
>>
>> I would say that our life will easier if we can actually sleep
>> with peace of mind after IGSTK has been used in a surgery.
>>
>>
>> ==================================================================
>> Julien Jomier wrote:
>>
>>> Luis (and other state machine gurus)
>>>
>>> Do we really need state machine logic for functions that are private
>>> in one class and accessible only by friend classes? I would assume
>>> that all the state machine logic will be performed in the friend class.
>>>
>>> I know that by design this would be better but I'm just wondering...
>>> (and trying to make life simpler ;))
>>>
>>> Let me know,
>>>
>>> Julien
>>>
>>> _______________________________________________
>>> IGSTK-Developers mailing list
>>> IGSTK-Developers at public.kitware.com
>>> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
>>>
>>>
>>
>>
>>
>
>
>
More information about the IGSTK-Developers
mailing list