查看Android教程,如记事本教程,我注意到几乎所有变量的名称都以字母“m”开头。这是什么惯例?它起源于哪里?


当前回答

根据Android源代码文档:

非公共的、非静态的字段名以m开头。 静态字段名以s开头。 其他字段以小写字母开头。 公共静态final字段(常量)为all_caps_with_下划线。

注意,这是用于编写Android源代码的。对于创建Android应用程序,谷歌Java风格指南可能更有帮助。

其他回答

正如前面回答的那样,这个前缀表示变量是成员。

有时人们会使用其他前缀,如果你发现一些以“i”或“s”开头的变量,它也可能是匈牙利符号的变体

'm'表示该变量是类的成员变量…

它代表成员。我个人认为这种惯例没有帮助,但它是主观的。

'm'表示类的成员。因此,如果您不使用IDE来突出显示成员,那么您将通过名称理解它是一个成员。

不仅仅是在java中,我在cocos2d+box2d样本中看到过类似的约定,其中一些变量以m_开头,但其他的不是,非常令人困惑。


b2World* world;
GLESDebugDraw *m_debugDraw;

我猜是为了区分c++ box2d变量和Obj-C变量。