Alec Flett wrote:
John Anderson wrote:
-1
What's the point of using asserts in code if nobody ever uses them? If we do this we might as well rip all the asserts out of all our code.
I'm not sure I understand this - I do a "make install build" and my [python] asserts always get caught. I think C++ asserts are useless for everyone except people actually doing wx development.
Perhaps the reason you think C++ asserts are useless is because you've almost never run with them.

I find the C++ asserts quite useful. In fact, using them over the weekend I discovered a crashing bug that I wouldn't have noticed without them: edit a field in the summary or sidebar and quit causes a crash. I suspect this bug has been around for a very long time.

The asserts in wx have caught a bunch of things I wouldn't have otherwise seen, e.g. accessing deleted memory. I often notice these bug even when I'm not doing wx development.

The idea I was trying to make by my comment is that if nobody ever runs codes with asserts, what's the point of having them? For my development on windows and linux, spending part of my time running the debug builds has really been worth it in terms of finding bugs. I suspect this works for me and not you might be because I have a faster computer.

Am I missing something? Is there perhaps a mode that the python interpreter runs in that bypasses asserts? if so, we should not be bypassing asserts except in actual releases (i.e. 0.7 itself)
Running python with the -O option (optimize) ignores python asserts. The release launchers run -O and ignore asserts. The debug launchers run without -O and pop up everything that goes to stdout to a dialog so it isn't missed by people who don't run in a shell. You can get python asserts if you run Chandler without -O in the release version -- which is how I normally run.

Alec

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to