<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: NSAssert Considered Harmful</title>
	<atom:link href="http://vgable.com/blog/2008/12/04/nsassert-considered-harmful/feed/" rel="self" type="application/rss+xml" />
	<link>http://vgable.com/blog/2008/12/04/nsassert-considered-harmful/</link>
	<description>my weblog.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Vincent Gable</title>
		<link>http://vgable.com/blog/2008/12/04/nsassert-considered-harmful/comment-page-1/#comment-287</link>
		<dc:creator>Vincent Gable</dc:creator>
		<pubDate>Thu, 11 Dec 2008 22:51:59 +0000</pubDate>
		<guid isPermaLink="false">http://vgable.com/blog/2008/12/04/nsassert-considered-harmful/#comment-287</guid>
		<description>You&#039;re right, turning off asserts is another issue entirely.  And I&#039;m going to side-step it by claiming the right answer is to not use asserts in production code.

That said, i haven&#039;t yet eliminated them from code I wrote before I knew better.  For what it&#039;s worth, I leave them enabled when I build that code.  The theory is that more predictable crashes are better crashes; and it helps motivate me to re-write that the code that needs it.  But I admit I&#039;m not totally sure it&#039;s the right answer; it&#039;s just the lesser of evils I know.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right, turning off asserts is another issue entirely.  And I&#8217;m going to side-step it by claiming the right answer is to not use asserts in production code.</p>
<p>That said, i haven&#8217;t yet eliminated them from code I wrote before I knew better.  For what it&#8217;s worth, I leave them enabled when I build that code.  The theory is that more predictable crashes are better crashes; and it helps motivate me to re-write that the code that needs it.  But I admit I&#8217;m not totally sure it&#8217;s the right answer; it&#8217;s just the lesser of evils I know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Mitchell</title>
		<link>http://vgable.com/blog/2008/12/04/nsassert-considered-harmful/comment-page-1/#comment-276</link>
		<dc:creator>Jonathan Mitchell</dc:creator>
		<pubDate>Mon, 08 Dec 2008 16:50:23 +0000</pubDate>
		<guid isPermaLink="false">http://vgable.com/blog/2008/12/04/nsassert-considered-harmful/#comment-276</guid>
		<description>I appreciate the point about the NSAssert v assert complexity issue.

Turning off asserts in release builds is another matter perhaps.
An assert catches an undesirable internal program state which the application may or may not be able to endure.
If the occurrence of the undesirable state has not been eliminated during testing then its occurrence in a release build is still problematic.
If you leave the assert in place then at least the program terminates due to a known test at a known location.
If the defective state is allowed to propagate then a crash may or may not occur at a later stage.

Maybe it&#039;s one of those pay your money and take your chance sort of things!</description>
		<content:encoded><![CDATA[<p>I appreciate the point about the NSAssert v assert complexity issue.</p>
<p>Turning off asserts in release builds is another matter perhaps.<br />
An assert catches an undesirable internal program state which the application may or may not be able to endure.<br />
If the occurrence of the undesirable state has not been eliminated during testing then its occurrence in a release build is still problematic.<br />
If you leave the assert in place then at least the program terminates due to a known test at a known location.<br />
If the defective state is allowed to propagate then a crash may or may not occur at a later stage.</p>
<p>Maybe it&#8217;s one of those pay your money and take your chance sort of things!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

