我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
当前回答
正如前面提到的,它是为不同的变量设计的。但是它对于代码生成也非常有用。如果你按下“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 -方法变量 c -类变量 p -参数变量
但我想每个程序员都有自己的风格。
考虑到可读性,如果你使用的是像Android Studio这样的现代IDE,就不应该再使用m代表成员变量,s代表静态字段的惯例了。Android Studio可以在不添加m或s的情况下区分它们。
根据清洁代码书,这不是一个干净的代码。
你不需要在成员变量前面加上m。此外,人们很快就学会忽略前缀或后缀来看到名称中有意义的部分。
也可以说它代表“我的”,就像在类/实例中说的那样:“这个变量是我的,没有其他人可以得到它。”与静态不同的是,虽然它可能只对类可用,但它由该类的所有实例共享。就像你在画圆,你需要知道每个圆的半径有多大
private double mRadius;
但与此同时,你需要一个计数器来跟踪所有的圆,在circle类中
private static int sCircleCount;
然后只有静态成员来增加或减少你目前拥有的圆的数量。
很多编码指南使用m表示类的“成员”。当你在编程时,你可以看到局部变量和成员变量之间的区别。