为什么变量名通常以字母'm'开头?

时间:2010-11-21 10:54:19

标签: java android naming-conventions

查看the Notepad tutorial等Android教程,我注意到几乎所有变量都以字母“m”开头。这是什么惯例,它来自哪里?

8 个答案:

答案 0 :(得分:280)

代表会员。我个人认为这个会议没有用,但这是主观的。

答案 1 :(得分:104)

Code Style Guidelines for Contributors: Follow Field Naming Conventions。使用“m”前缀更具体,只是表示“成员”变量:它是“非公共,非静态字段名称”。

答案 2 :(得分:80)

According to Android source code documentation

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

请注意,这是用于编写Android源代码。要创建Android应用,Google Java Style Guide可能会更有帮助。

答案 3 :(得分:36)

m表示 m ember变量。

它有两大优势:

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

答案 4 :(得分:16)

'm'表示班级成员。因此,如果您不使用IDE突出显示您的成员,那么您将了解它是一个成员名称

答案 5 :(得分:5)

如前所述,这个前缀表示变量是成员。

如果您发现一些以“i”或“s”开头的变量,人们会使用其他前缀,它也可能是Hungarian Notation的变体

答案 6 :(得分:2)

'm'表示变量是类的成员变量...

答案 7 :(得分:0)

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


b2World* world;
GLESDebugDraw *m_debugDraw;

我想将C ++ box2d变量与Obj-C变量区分开来。