Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
#1

Нужно ли пользоваться префиксами m и s для именования переменных или это устарело? - Программирование Android

09.07.2016, 20:22. Просмотров 309. Ответов 6
Метки нет (Все метки)

Добрый вечер всем, подскажите пожалуйста, используете ли вы префиксы m и s для переменных/полей класса?
Дело в том что у андроида написано что надо :

Follow Field Naming Conventions
Non-public, non-static field names start with m.
Static field names start with s.
Other fields start with a lower case letter.
Public static final fields (constants) are ALL_CAPS_WITH_UNDERSCORES.
а вот тут у Гугла написано что не надо:

5.1 Rules common to all identifiers
Identifiers use only ASCII letters and digits, and, in a small number of cases noted below, underscores. Thus each valid identifier name is matched by the regular expression \w+ .
In Google Style special prefixes or suffixes, like those seen in the examples name_, mName, s_name and kName, are not used.
я смотрю кто-то использует, кто-то нет, как правильно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2016, 20:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно ли пользоваться префиксами m и s для именования переменных или это устарело? (Программирование Android):

Правила именования переменных - Perl
Доброго времени суток! У нас в коллективе нередко возникают споры вот по поводу чего: как правильно именовать переменные-объекты...

Особенности именования переменных во флеше - ActionScript
Допустим, если вы хотите сделать переменную и геттер\сеттер к ней, вы мощете объявлять переменную как private var m_someValue:int; а...

Нужно создать класс или метод в который будет служить для загрузки и инициализации переменных - C#
Нужно создать класс или метод который будет служить для загрузки и инициализации переменных. Есть куча переменных который можно достать...

Проблема передачи переменных, что это глюк или происки империализма? - PHP
Народ! Ответ для многих конечно очевидный, для меня он тоже был года два подряд очевыдным :) Вобщем, задача элементарная: Передать...

Для сети создать 34 подсети и записать IP-адреса с префиксами для входного порта - Сети
Есть сеть - 168.247.0.0/16; Для нее нужно создать 34 подсети и записать IP- адреса с префиксами для входного порта (связь с входным...

Какой процедурой нужно пользоваться для рисования через canvas на image? - Lazarus
Как должен выглядеть код и какое свойство объекта нужно использовать, чтобы через canvas рисовать на image?

6
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
11.07.2016, 11:34 #2
u-geen, на любителя. Вначале они действительно призывали к использованию m, иногда в проектах это попадается, да и многие их примеры для Андроида так и написаны. Честно говоря, чушь полная. Во-первых, неудобно, смысла никакого. Во-вторых, пока разрабатываешь, часто делаешь переменные то public, то static, так что теперь, каждый раз переименовывать из s в m? Так и до методов можно добраться. Я бы ещё понял, если бы это был VB с их знаменитыми i, l, s и др.
1
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
15.07.2016, 10:16  [ТС] #3
Спасибо большое, теперь буду знать
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
15.07.2016, 21:08 #4
u-geen, не за что. Единственное, там может быть проблема, например, при обращении в конструкторе класса или в методах к переменным. Поскольку они пишутся чаще без m, то в конструкторе может быть, например, такое:
Java
1
2
3
public MyClass(int variable){
    this.variable = variable;
}
Т.е. надо не забыть this.
Если из потока обращаться к некоторой переменной, то может быть другая неоднозначная ситуация типа i = i. В этом случае надо писать так: MainActivity.this.variable = variable.
0
Борис Верещагин
60 / 39 / 12
Регистрация: 14.01.2016
Сообщений: 183
Завершенные тесты: 4
16.07.2016, 01:07 #5
статические поля? когда я последний раз их объявлял? тем-более в java.
а вот отличать поля от локальных переменных - полезно, поэтому m использую
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
16.07.2016, 12:50 #6
Цитата Сообщение от Борис Верещагин Посмотреть сообщение
когда я последний раз их объявлял?
да хотя бы константы
Цитата Сообщение от Борис Верещагин Посмотреть сообщение
а вот отличать поля от локальных переменных - полезно, поэтому m использую
если рефакторить по полной и делать короткие методы то не составит особого труда отличать локальные переменные от полей класса
да и сами поля класса чаще всего нужны в каких-нибудь POJO классах

в инете полно бездарных примеров, кода в активити объявляют и делают полями активити десяток кнопок, лаяутов и прочего
от 3/4 их них можно избавиться сразу если нормально переписать код
0
Борис Верещагин
16.07.2016, 15:28     Нужно ли пользоваться префиксами m и s для именования переменных или это устарело?
  #7

Не по теме:

Паблито,

да хотя бы константы
ДЛЯ_КОНСТАНТ_СВОИ_ПРАВИЛА))

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2016, 15:28
Привет! Вот еще темы с ответами:

Для распараллеливание процессов лучше пользоваться OpenMP или Win32? - C++
Для распараллеливание процессов лучше пользоваться OpenMP или Win32? Называйте темы информативно

Чем правильно пользоваться для сравнения строк - equals или compareTo ? - Java SE
Все собираюсь спросить: Если я в Си инициализирую строку, а потом захочу ее изменить в сторону увеличения, то должен использовать...

Задаются 4 переменных (x1,y1) и (x2,y2)-это крайние точки отрезка.Нужно найти все целочисленные точки принадлежащие этому отрезку на графике - Pascal ABC
Доброго времени суток. Задаются 4 переменных (x1,y1) и (x2,y2)-это крайние точки отрезка.Нужно найти все целочисленные точки...

Не могу удалить! Или не нужно удалять а это просто глюк в антивируса!? - Удаление вирусов
Вот что пишет антивирус: 09.10.2010 19:34:01 Защита в режиме реального времени файл C:\WINDOWS\system32\ACTXPRXY.DLL Win32/Hetuph.A...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
16.07.2016, 15:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru