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


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


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


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


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

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


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


b2World* world;
GLESDebugDraw *m_debugDraw;

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


参见贡献者的代码风格指南:遵循字段命名约定。“m”前缀的使用比简单地表示“成员”变量更具体:它用于“非公共、非静态字段名”。


这里的m表示一个成员变量。

它有两个巨大的优势:

如果您看到它,您会立即将其识别为成员变量。 按下m,你将通过自动补全器获得所有成员。(这个答案不在其他答案中)


根据Android源代码文档:

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

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