title: Why shouldn't I prefix my fields?
body: <p>I've never been a fan of Hungarian notation, I've always found it pretty useless unless you're doing some really low level programming, but in every C++ project I've worked on some kind of Hungarian notation policy was enforced, and with it the use of some 'not-really-Hungarian' prefixes as m_ for fields, s_ for statics, g_ for globals and so on.</p>
  
  <p>Soon I realized how much useless it was in C# and gradually started to drop all of my old habits... but the 'm_' thing. I still use the m_ prefix on private fields because I really find it very useful to being able to distinguish between parameters, locals and fields.</p>
  
  <p>The <a href="https://msdn.microsoft.com/en-us/library/ta31s3bc%28v=VS.71%29.aspx" rel="noreferrer">naming conventions for fields page at MSDN</a> says I shouldn't, but it does not say why (the way e.g. Google's conventions generally tend to rationalize their prescriptions).</p>
  
  <p>Are there reasons why I shouldn't or is it only a matter of style. If it is the latter, are prefixes generally considered a bad style and can I expect negative reactions from other people working on the codebase?</p>