我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
当前回答
考虑到可读性,如果你使用的是像Android Studio这样的现代IDE,就不应该再使用m代表成员变量,s代表静态字段的惯例了。Android Studio可以在不添加m或s的情况下区分它们。
其他回答
以下是命名约定:
非公共的、非静态的字段名以m开头。 静态字段名以s开头。 其他字段以小写字母开头。 公共静态final字段(常量)为all_caps_with_下划线。
例子:
public class MyClass {
public static final int SOME_CONSTANT = 42;
public int publicField;
private static MyClass sSingleton;
int mPackagePrivate;
private int mPrivate;
protected int mProtected;
}
考虑到可读性,如果你使用的是像Android Studio这样的现代IDE,就不应该再使用m代表成员变量,s代表静态字段的惯例了。Android Studio可以在不添加m或s的情况下区分它们。
这个符号来自AOSP (Android开源项目)代码风格指南:
遵循字段命名约定 非公共的、非静态的字段名 从m开始。 静态字段名以s开头。 其他字段以小写字母开头。 公共静态final字段(常量)为all_caps_with_下划线。
请注意,链接的样式指南是用于贡献给Android开源项目的代码。
它不是单个Android应用程序代码的风格指南。
为了证明你绝对不应该在你的代码中使用这种命名变量的约定,我在下面传递一个来自父Android Studio的截图。
找到对象内的变量被特别排序,使m-variables低于您的本机变量。因此,通过在代码中以“m”为前缀来命名它们,就可以将它们隐藏在一个堆中。
我发现这种代码风格的一个好处是,在自动完成对某个变量的引用时,我知道我可以输入“m”来只看到成员变量。