I've always used "m" to prefix ivars: mSpeed, mDistance. I use "s" for statics and "k" for constants.
I'd like to find a good convention for distinguishing properties but haven't really found one that is appealing to me. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Jun 1, 2015 at 3:14 PM, Charles Srstka <cocoa...@charlessoft.com> wrote: > On Jun 1, 2015, at 4:52 PM, Britt Durbrow > <bdurb...@rattlesnakehillsoftworks.com> wrote: >> >> I don't use underscores to prefix ivars. I think it's ugly, and unnecessary >> -- it doesn't help with namespacing (if a subclass and a superclass both >> declare _someVariable with the underscore they will collide just as badly as >> if they declare someVariable without one) > > Which is not at all, actually: > > #import <Foundation/Foundation.h> > > @interface Foo : NSObject > > - (void)fooLogAnIvar; > > @end > > @interface Bar : Foo > > - (void)barLogAnIvar; > > @end > > int main(int argc, const char * argv[]) { > @autoreleasepool { > Bar *bar = [Bar new]; > > [bar fooLogAnIvar]; > [bar barLogAnIvar]; > } > return 0; > } > > @implementation Foo { > NSString *_anIvar; > } > > - (instancetype)init { > self = [super init]; > > if (self == nil) { > return nil; > } > > _anIvar = @"Foo"; > > return self; > } > > - (void)fooLogAnIvar { > NSLog(@"Foo: _anIvar is %@", _anIvar); > } > > @end > > @implementation Bar { > NSString *_anIvar; > } > > - (instancetype)init { > self = [super init]; > > if (self == nil) { > return nil; > } > > _anIvar = @"Bar"; > > return self; > } > > - (void)barLogAnIvar { > NSLog(@"Bar: _anIvar is %@", _anIvar); > } > > @end > > 2015-06-01 17:12:16.328 test[17203:2499855] Foo: _anIvar is Foo > 2015-06-01 17:12:16.329 test[17203:2499855] Bar: _anIvar is Bar > >> and ivars vs accessors are obvious by context: [self obviouslyAnAccessor] or >> self.obviouslyAnAccessor vs obviouslyAnIvar (or very rarely, >> someObject->obviouslyAnIvar). > > > Non-underscored ivars vs. local variables, however, are not obvious at all, > especially if the method is large. > > Charles > > _______________________________________________ > > 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: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com