'的优势是什么;姆菲尔德';Android代码样式(如果有)?

'的优势是什么;姆菲尔德';Android代码样式(如果有)?,android,coding-style,Android,Coding Style,一段时间以来,我一直在遵循Android的谷歌代码风格,没有进一步思考。现在我在想,像谷歌那样命名mXXX这样的字段有什么真正的优势吗?似乎有点像C++中的匈牙利符号,就是‘ M看起来有点多余?但是为什么谷歌的智者会使用它呢?据我所知,m前缀表示它可能是一个“成员变量”,即类中包含的属性。通过使用m作为前缀,可以很容易地区分它们处理的是类的成员,而不是局部变量 但是,更重要的是编写可理解的代码,换句话说,使用可读的文件名来说明原因mFoobarvar没有太大帮助,而textView则“更好”。)

一段时间以来,我一直在遵循Android的谷歌代码风格,没有进一步思考。现在我在想,像谷歌那样命名
mXXX
这样的字段有什么真正的优势吗?似乎有点像C++中的匈牙利符号,就是‘<代码> M<代码>看起来有点多余?但是为什么谷歌的智者会使用它呢?

据我所知,
m
前缀表示它可能是一个“成员变量”,即类中包含的属性。通过使用
m
作为前缀,可以很容易地区分它们处理的是类的成员,而不是局部变量


但是,更重要的是编写可理解的代码,换句话说,使用可读的文件名来说明原因
mFoobarvar
没有太大帮助,而
textView
则“更好”。)

mXxx代表成员变量,sXxx是静态成员变量,XXX_XXX是静态最终成员变量。这是有据可查的

没错,但是Eclipse强调了这些,Google推荐Eclipse。哈,不,你应该重新考虑“文本视图”,它有点像“understandableName_502”。好吧,如果你在课堂上只有一个文本视图,它的功能相当强大。但是是的,这并不是有史以来最伟大的例子但是如果我使用Eclipse,遵循这些指导原则有什么好处?换言之:所有这些优势都是Eclipse之外的吗?它与您使用/不使用的IDE无关。它主要是一种代码可读性技术。它有助于快速识别正在使用的变量类型。另一个有用的场景是mutator方法
setSpeed(int-speed){this.speed=speed}
可能让一些人感到困惑,但是
setSpeed(int-speed){mSpeed=speed}
看起来要好一点。优势与eclipse无关。这个命名约定是建立起来的,所以您总是知道您处理的是哪种类型的变量。如果遵循此约定,则永远不能将局部变量与成员变量(例如)混淆。您还可以通过名称知道哪些是静态的,哪些是最终的。