我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。

“m”是Java的东西吗?它代表移动吗?混合吗?


当前回答

这似乎是一些早期Android/谷歌工程师的个人偏好,以“m”开始成员变量,所以他们推荐它。

现在,这条规则被强加给那些既不是AOSP贡献者的公司的开发人员,仅仅是因为该页面被认为是Android代码风格规则。这条规则几乎没有什么好处。谷歌应该考虑删除它。否则,请指定Android应用程序的代码风格规则是可选的。

请在此请愿书中添加您的支持意见,以删除规则https://code.google.com/p/android/issues/detail?id=226814

其他回答

我认为使用哪种代码约定是非常个性化的。我更喜欢用下面的前缀来命名变量:

m -方法变量 c -类变量 p -参数变量

但我想每个程序员都有自己的风格。

我发现这种代码风格的一个好处是,在自动完成对某个变量的引用时,我知道我可以输入“m”来只看到成员变量。

如果它是类中的成员变量,'m'表示'成员'。许多Java程序员都这样做,尽管在现代ide中不需要这样做,因为你有高亮显示,鼠标在工具提示上,等等。

这似乎是一些早期Android/谷歌工程师的个人偏好,以“m”开始成员变量,所以他们推荐它。

现在,这条规则被强加给那些既不是AOSP贡献者的公司的开发人员,仅仅是因为该页面被认为是Android代码风格规则。这条规则几乎没有什么好处。谷歌应该考虑删除它。否则,请指定Android应用程序的代码风格规则是可选的。

请在此请愿书中添加您的支持意见,以删除规则https://code.google.com/p/android/issues/detail?id=226814

正如前面提到的,它是为不同的变量设计的。但是它对于代码生成也非常有用。如果你按下“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 - >代码。就像在画上一样。 也许会有帮助。 对不起,我说错了。 配置安卓