Глядя на обучающие программы Android, такие как учебник Notepad, я заметил, что почти все переменные называются начиная с буквы "m". Что это за соглашение и откуда оно взялось?
Почему имена переменных часто начинаются с буквы "m"?
Ответ 1
Он обозначает член. Я лично считаю это соглашение бесполезным, но оно субъективным.
Ответ 2
См. Правила стиля кода для участников: соблюдайте соглашения об именах полей. Использование префикса "m" более специфично, просто указывая переменную "member": "для" непубличных имен нестатических полей.
Ответ 3
Согласно документации на исходный код Android:
- Непубличные имена нестатических полей начинаются с m.
- Имена статических полей начинаются с s.
- Другие поля начинаются с строчной буквы.
- Открытые статические конечные поля (константы) - ALL_CAPS_WITH_UNDERSCORES.
Обратите внимание, что это для написания исходного кода Android. Для создания приложений для Android более полезно использовать Руководство по стилю Google Java.
Ответ 4
Здесь m обозначает символ m.
Он имеет 2 огромных преимущества:
- Если вы видите это, вы сразу узнаете его как переменную-член.
- Нажмите m, и вы получите всех участников через автозаполнение. (Это не в других ответах)
Ответ 5
'm' означает член класса. Итак, если вы не используете IDE для выделения своих членов, то вы поймете, что это член по имени
Ответ 6
Как уже было сказано, этот префикс указывает, что переменная является членом.
Иногда люди используют другие префиксы, если вы обнаружите некоторые переменные, начинающиеся с "i" или "s", это также может быть вариант Венгерская нотация
Ответ 7
'm' означает, что переменная является переменной-членом класса...
Ответ 8
не только в java, я видел подобное соглашение в примерах cocos2d + box2d, где некоторые из переменных начинаются с m_, но другие не очень-то запутывают.
b2World* world;
GLESDebugDraw *m_debugDraw;
Я предполагаю дифференцировать переменные С++ box2d из переменных Obj-C.
Ответ 9
Я встречаюсь с этим соглашением время от времени и должен согласиться с тем, что он довольно бесполезен. Штабелер упоминает венгерскую нотацию... это мое предпочтение.
private string sName;
public string Name
{
get { return sName; }
set { sName = value; }
}
Таким образом, он отображает тип и его отличие от имени метода.