Android 关于变量名的有趣细节

Android 关于变量名的有趣细节,android,coding-style,hungarian-notation,Android,Coding Style,Hungarian Notation,我已经在网上阅读了各种教程,其中包括游戏中指定的不同种类的教程(不过,这是非常普遍的) 许多开发人员将变量命名为: mContext 对我来说,默认情况下只将其命名为“context”或类似的名称 为什么“m”在前面?(我知道这是一个风格问题,但我只是好奇它代表什么)这个m将表示该对象是相关类的成员变量。在名称前面加上变量用途或类型的线索是一种常见用法。许多程序员喜欢在变量前面加小写字母,表示变量所代表的对象类型。例如: var strMyString=newstring()对于那些不赞成将变

我已经在网上阅读了各种教程,其中包括游戏中指定的不同种类的教程(不过,这是非常普遍的)

许多开发人员将变量命名为:

mContext
对我来说,默认情况下只将其命名为“context”或类似的名称


为什么“m”在前面?(我知道这是一个风格问题,但我只是好奇它代表什么)

这个
m
将表示该对象是相关类的成员变量。在名称前面加上变量用途或类型的线索是一种常见用法。

许多程序员喜欢在变量前面加小写字母,表示变量所代表的对象类型。例如:


var strMyString=newstring()

对于那些不赞成将变量名与这些字符混在一起的人来说,它们被称为“疣”。在我看来,在今天的IDE中,最好去掉这些缺点,因为在没有它们的帮助下,我们可以很容易地区分局部变量和成员变量。

谢谢!这也是我的意见。完全一样。谢谢你,但多鲁斯医生更快了。:)我通常将匈牙利符号与类型前缀联系起来,例如,对于以零结尾的字符数组,“czName”。我觉得这个用法很烦人。作用域的前缀('g'表示全局,'m'表示成员)可以方便地区分局部变量和非局部变量,而无需搜索声明。现代IDE使这一点变得不那么重要(直到您必须以打印的形式阅读代码为止)。这不是其他人提到的匈牙利符号。但是Android编码指南(对于Android core的贡献)说,代码应该遵循这种风格(m表示成员变量,s表示静态等)。你能详细说明一下,在什么情况下这不是匈牙利符号吗?我知道,这是在编码指南,但我认为没有理由使用这个。。。对我来说,当我阅读资料来源时,这是令人困惑的。