android 为什么变量名经常以字母'm'开头?[duplicate]

xmjla07d  于 2023-01-11  发布在  Android
关注(0)|答案(8)|浏览(151)
    • 此问题在此处已有答案**:

Why do most fields (class members) in Android tutorial start with m?(14个答案)
六年前关闭了。
查看the Notepad tutorial等Android教程时,我注意到几乎所有变量都以字母"m"开头命名,这是什么约定?它起源于哪里?

piok6c0g

piok6c0g1#

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

inb24sb2

inb24sb22#

请参见参与者代码样式指南:遵循字段命名惯例。使用“m”前缀比简单地表示“成员”变量更具体:它用于“非公共、非静态字段名”。

v64noz0r

v64noz0r3#

根据Android源代码文档:

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

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

8tntrjer

8tntrjer4#

这里的m表示一个m成员变量。
它有两个巨大的优势:

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

f5emj3cl5#

“m”表示类的成员。所以,如果你不使用IDE来突出显示你的成员,那么你就会明白它是一个成员。

brgchamk

brgchamk6#

正如已经回答的,这个前缀表示变量是成员。
有时候人们会使用其他前缀,如果你发现一些变量以“i”或“s”开头,它也可能是Hungarian Notation的变体

dbf7pr2w

dbf7pr2w7#

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

t1rydlwq

t1rydlwq8#

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

b2World* world;
GLESDebugDraw *m_debugDraw;

我猜是为了区分C++ box 2d变量和Obj-C变量。

相关问题