为什么variables名通常以字母“m”开头?

看看记事本教程等Android教程,我注意到几乎所有的variables都以字母“m”开头。 这是什么约定,它起源于哪里?

它代表成员。 我个人认为这个惯例是无用的,但是这是主观的。

请参阅编码风格指南:遵循字段命名约定 。 使用“m”前缀更具体,只是简单地表示一个“成员”variables:这是“非公开的,非静态的字段名称”。

根据Android源代码文档 :

  • 非公开的非静态字段名称以m开头。
  • 静态字段名称以s开头。
  • 其他字段以小写字母开头。
  • 公共静态最终字段(常量)是ALL_CAPS_WITH_UNDERSCORES。

请注意,这是为了编写Android源代码。 为了创buildAndroid应用程序, Google Java风格指南可能会更有帮助。

m在这里表示一个m个variables。

它有两个巨大的优势:

  • 如果你看到它,你立即认识到它是一个成员variables。
  • 按m,你通过自动完成程序获得所有成员。 (这个不在其他答案中)

'm'表示class上的成员。 所以,如果你不使用IDE来强调你的成员,那么你就会明白它是一个成员的名字

正如已经回答这个前缀指出一个variables是成员。

Somtimes人们使用其他前缀,如果你发现一些variables,以“我”或“S”开始,它也可能是匈牙利符号

'm'表示variables是类的成员variables…

不仅在java中,我已经在cocos2d + box2d示例中看到类似的约定,其中一些variables以m_开头,但其他variables却不是很混乱。

 b2World* world; GLESDebugDraw *m_debugDraw; 

我想区分C ++ box2dvariables和Obj-Cvariables。

我不时遇到这个惯例,不得不同意它的无用之处。 Stacker提到匈牙利符号…这是我的偏好。

 private string sName; public string Name { get { return sName; } set { sName = value; } } 

这样它就显示出方法名称的types和区别。