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


当前回答

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


b2World* world;
GLESDebugDraw *m_debugDraw;

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

其他回答

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

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

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

它有两个巨大的优势:

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

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

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


b2World* world;
GLESDebugDraw *m_debugDraw;

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