everyone said the “underscore, no underscore” debate is purely philosophical and user preference driven but with intelli-sense having the underscore allows you to differentiate your member variables from your local variable very easily and thus giving you a concrete benefit
is there any counter argument to this benefit of having underscores to all member variables?
Yes – for some people it reduces readability. I believe different people read in different ways (some internally vocalise and others don’t, for instance). For some people (myself included) underscores interrupt the “flow” of code when I’m reading it.
I’d argue that if you’re having difficulties telling local and instance variables apart, then quite possibly either your methods are too big or your class is doing too much. That’s not always going to be the case of course, but I don’t tend to find it a problem at all with short classes/methods.