On Thu, Aug 09, 2012 at 04:14:37PM +0200, Miguel Angel Ajo Pelayo wrote: > Dick, what we're proposing is not that bad, I mean, it's parameter checking > into C++ functions, > for functions that can cause trouble. This is something good (unless inside > of functions that can cause > high CPU load).
More than cpu load, frequent calls since it's a check on the boundary... Maybe I wouldn't do it in the 'cursor move' event, but no problem in the autorouter entry function. And anyway these would be all easy checks (nothing different than checking malloc result...) Since you can't trust stuff coming from the python side you have to be paranoid. perl has the whole 'tainting' system, where an outside value is 'unsafe' until cleaned (the definition of 'cleaned' is a point of debate itself) > now), but, In my opinion, that > can be worse, as that means that if you increase the enum type one day, you > will have to go to the > renamed function and change the check. It's called "maintaining the library bindings" :D > > Example: > > obj->fn(x) (x>10 will crash) > > class obj: > def fn(x): > if x>10: throw exception > else: self._fn(x) Exactly the facade pattern I was talking about in the other mail. I'm not 100% sure, I'm not very strong with patterns... -- Lorenzo Marcantonio Logos Srl _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

