我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
当前回答
我认为使用哪种代码约定是非常个性化的。我更喜欢用下面的前缀来命名变量:
m -方法变量 c -类变量 p -参数变量
但我想每个程序员都有自己的风格。
其他回答
如果你有这样的问题
你的IDE生成setter /getter,你最终得到getmName() 和setmName ()
不要忘记下一步(设置/编辑器/代码样式/Java/代码生成):
更新:我们在Kotlin中不使用这样的东西(所以最好切换到它,不再使用前缀)
以下是命名约定:
非公共的、非静态的字段名以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;
}
m前缀是什么?
M代表成员变量或数据成员。非公共和非静态字段使用m前缀。
何时使用?
private String mCityName;
private float mTemperature;
什么时候不使用?
public static int mFirstNumber;
public static final String mDATABASE_NAME;
我做什么?
就我个人而言,我不使用它。它使代码更复杂,可读性更混乱。如果你仍然使用记事本编码,我没有文字,但现代ide能够高亮显示和着色成员和局部变量或其他任何东西。
结论
使用?“是”或“否”是你自己的选择。
正如前面提到的,它是为不同的变量设计的。但是它对于代码生成也非常有用。如果你按下“Alt + Insert”,你会得到大多数常见代码生成属性的窗口。如果你想为你的变量生成“get”方法,你会得到。
public class Foo{
private int bar;
public int getBar(){
return this.bar;
}
public void setBar(int bar){
this.bar = bar;
}
}
但如果你声明“m, s”,你会得到:
public class Foo{
private int mBar;
public int getBar(){
return mBar;
}
public void setBar(int bar){
mBar = bar;
}
}
它将自动生成,“m”或“s”将从你的构造函数、get、set方法名称中删除。 在此之后,字段的“get”和“set”将不带“m”而生成。Andoroid Fle->设置->代码样式-> Genenretion Java - >代码。就像在画上一样。 也许会有帮助。 对不起,我说错了。 配置安卓
我发现这种代码风格的一个好处是,在自动完成对某个变量的引用时,我知道我可以输入“m”来只看到成员变量。