From: Chris C. <ca...@al...> - 2003-06-07 19:24:41
|
On Saturday 07 Jun 2003 6:45 pm, Guillaume Laurent wrote: > On Saturday 07 June 2003 14:00, Levi Burton wrote: > > So, basically checking every assumption that *pointer is not null > > with an assert(). I am guessing thats a shit-load of work. I think most of the work is in finding the places where it would=20 actually make sense to assert (for example, there's no point in=20 testing a pointer if you've just got it back from new(), there's no=20 point in testing a pointer merely for an assert if you're just about=20 to dereference it anyway, etc). If you're going to put in that=20 effort, you might as well simply do a better job of recovering=20 correctly from such problems, rather than just asserting. Asserts are handy in some circumstances, but they're more something=20 you write as you write the code than something you work to add=20 afterwards. And they can cause problems -- I have twice recently had=20 to remove asserts because they were causing crashes in cases where=20 the assumption they were testing was not in fact true any more (i.e.=20 a null value was actually acceptable, or whatever). > I don't mean to > brag but I agree with Rich, given our features list our stability > is fairly good. Given that this thread was inspired by a comment of mine about how our=20 code could use some improvement, I think the subject is certainly=20 fair game. I just don't think assert is quite the answer. Chris |