Skip navigation.
 
mlRe: self = [super init] debate.
FROM : Hans van der Meer
DATE : Sun Feb 10 23:26:05 2008

On 10 feb 2008, at 22:44, Jens Alfke wrote:

> It's possible to coalesce the first two lines into "if( self = 
> [super initWithFoo: foo] )", but I avoid this because putting 
> assignments inside 'if' or 'while' tests is a dangerous idiom ... 
> it's very easy to type "==" instead of "=" and end up with a 
> difficult-to-detect bug.


It is no problem if one takes care to phrase the if as:
    if (nil != (self = [super init])){...}
I know, still more keystrokes, but programming safety is the more 
important consideration here and I force myself to not being lazy.

By the way. Doing (nil !== ...) is a habit that saves one in comparing 
to variables as in (nil == myvariable). Compare this to (myvariable == 
nil) that indeed is a bit dangerous.

I hope this comment is not too far off topic for this list -- so I 
make this my last contribution on this subject.

Hans van der Meer

Related mailsAuthorDate
mlself = [super init] debate. Scott Andrew Feb 10, 18:18
mlRe: self = [super init] debate. Scott Andrew Feb 10, 18:35
mlRe: self = [super init] debate. Adhamh Findlay Feb 10, 19:41
mlRe: self = [super init] debate. John Newlin Feb 10, 20:13
mlRe: self = [super init] debate. Hans van der Meer Feb 10, 20:20
mlRe: self = [super init] debate. Quincey Morris Feb 10, 20:29
mlRe: self = [super init] debate. Jens Alfke Feb 10, 20:45
mlRe: self = [super init] debate. Wade Tregaskis Feb 10, 20:50
mlRe: self = [super init] debate. Ricky Sharp Feb 10, 21:01
mlRe: self = [super init] debate. Jens Alfke Feb 10, 22:44
mlRe: self = [super init] debate. Hans van der Meer Feb 10, 23:26
mlRe: self = [super init] debate. Paul Bruneau Feb 10, 23:29
mlRe: self = [super init] debate. Uli Kusterer Feb 10, 23:40
mlRe: self = [super init] debate. Paul Bruneau Feb 11, 00:18
mlRe: self = [super init] debate. - Thanks Scott Andrew Feb 11, 00:56
mlRe: self = [super init] debate. Quincey Morris Feb 11, 02:32
mlRe: self = [super init] debate. mmalc crawford Feb 11, 02:49
mlRe: self = [super init] debate. Jens Alfke Feb 11, 03:05
mlRe: self = [super init] debate. Bill Bumgarner Feb 11, 03:28
mlRe: self = [super init] debate. Quincey Morris Feb 11, 04:35
mlRe: self = [super init] debate. Jean-Daniel Dupas Feb 11, 10:27
mlRe: self = [super init] debate. Jens Alfke Feb 11, 17:08
mlre: self = [super init] debate. Ben Trumbull Feb 11, 23:58