我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
我知道骆驼格规则,但我对这个m规则很困惑。它代表什么?我是PHP开发人员。“我们”使用变量的首字母来表示类型,例如'b'表示布尔值,'i'表示整数,等等。
“m”是Java的东西吗?它代表移动吗?混合吗?
当前回答
为了证明你绝对不应该在你的代码中使用这种命名变量的约定,我在下面传递一个来自父Android Studio的截图。
找到对象内的变量被特别排序,使m-variables低于您的本机变量。因此,通过在代码中以“m”为前缀来命名它们,就可以将它们隐藏在一个堆中。
其他回答
也可以说它代表“我的”,就像在类/实例中说的那样:“这个变量是我的,没有其他人可以得到它。”与静态不同的是,虽然它可能只对类可用,但它由该类的所有实例共享。就像你在画圆,你需要知道每个圆的半径有多大
private double mRadius;
但与此同时,你需要一个计数器来跟踪所有的圆,在circle类中
private static int sCircleCount;
然后只有静态成员来增加或减少你目前拥有的圆的数量。
这个符号来自AOSP (Android开源项目)代码风格指南:
遵循字段命名约定 非公共的、非静态的字段名 从m开始。 静态字段名以s开头。 其他字段以小写字母开头。 公共静态final字段(常量)为all_caps_with_下划线。
请注意,链接的样式指南是用于贡献给Android开源项目的代码。
它不是单个Android应用程序代码的风格指南。
我认为使用哪种代码约定是非常个性化的。我更喜欢用下面的前缀来命名变量:
m -方法变量 c -类变量 p -参数变量
但我想每个程序员都有自己的风格。
为了证明你绝对不应该在你的代码中使用这种命名变量的约定,我在下面传递一个来自父Android Studio的截图。
找到对象内的变量被特别排序,使m-variables低于您的本机变量。因此,通过在代码中以“m”为前缀来命名它们,就可以将它们隐藏在一个堆中。
m前缀是什么?
M代表成员变量或数据成员。非公共和非静态字段使用m前缀。
何时使用?
private String mCityName;
private float mTemperature;
什么时候不使用?
public static int mFirstNumber;
public static final String mDATABASE_NAME;
我做什么?
就我个人而言,我不使用它。它使代码更复杂,可读性更混乱。如果你仍然使用记事本编码,我没有文字,但现代ide能够高亮显示和着色成员和局部变量或其他任何东西。
结论
使用?“是”或“否”是你自己的选择。