On Aug 20, 2008, at 6:14 PM, John C. Randolph wrote:
On Aug 20, 2008, at 5:04 PM, j o a r wrote:
On Aug 20, 2008, at 4:56 PM, John C. Randolph wrote:

Personally, I prefer "if (!foo)" over "if (foo == nil)", because the latter has the hazard of a typo that compiles. You can lose a fair bit of time staring at "if (foo = nil)" before you spot the mistake.


There is a GCC warning to help you with that, but in addition, you can learn to type:

        if (nil == foo)

Problem solved!   :-)

...at the cost of five additional keystrokes, not to mention the aesthetics.

I was swayed by the "nil == foo" arguments for a while, but my gut kept tugging at me and now I have switched back to just if ( !foo), or better (I prefer positive ifs), if (foo). Of course, if all the if (foo) is protecting is a message-send, you can just leave it out altogether and let nil do its thing to messages...

I think what my gut was trying to tell me is that I don't really care about the value of the pointer itself, that is only an implementation detail of object references. So not only is if (foo) more concise, it is actually more intention-revealing than if ( nil==foo ). Oh, and it slices and dices, too..

Marcel

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to