My preference, following Google, is simply to append an underscore and explicitly synthesize (even if I'm reimplementing):
@synthesize varName=varName_;
If I see that trailing underscore outside of init...
, dealloc
or an accessor, I know something's fishy.