我从来不喜欢匈牙利命名法,除非你在做一些非常底层的编程,否则我一直觉得它没什么用,但在我参与的每个C++项目中都执行了某种形式的匈牙利命名策略,其中包括使用一些“不是真正的匈牙利命名法”前缀,例如m_表示字段,s_表示静态,g_表示全局等。
后来我意识到在C#中它有多么无用,并逐渐放弃了所有旧习惯... 但是'm_' 还在使用。 我仍然在私有字段上使用 m_ 前缀,因为我真的发现这非常有用,可以区分参数、本地变量和字段。
MSDN上的字段命名约定页面说我不应该这样做,但没有说明为什么(例如Google的约定通常倾向于理性化他们的规定方式)。
是否有不允许我这样做的原因,还是只是一个风格问题?如果是后者,那么前缀通常被认为是一种不良风格吗?我能否期望其他人在工作中对代码库作出负面反应?