I used to use prefix underscore for instance variable naming, to distinguish from local variables.
I happend to see the “Google Objective-C Style Guide”, and found that it suggests to use trailing underscores(refer it HERE), but without any detail explanation about why.
I know it is a coding style issue, but I do wonder is there any advantages of using trailing underscores?
Related: Question about @synthesize (see the blockquotes at the bottom of the answer)
The advantage is: _var is a convention (C99, Cocoa guidelines) for private, but it is so common (even on Apple templates) that Apple uses double underscore __var. Google solves it by using trailing underscore instead.
I updated the other answer with a couple more reasons…