Лучшие практики для соглашений об именах ID в Android?
Я видел эту ссылку сначала, но она, похоже, не имела большой активности: Соглашение об именах для идентификаторов в Android
Мне любопытно, что лучше всего подходит для именования идентификаторов для различных элементов в Design View на Android Studio.
Сейчас я делаю такие вещи: Если это TextView с текстом "Добро пожаловать в мою программу", я назову его welcomeTextViewID
. Если это кнопка, которая запускает некоторую подпрограмму под названием doStuff
, я могу назвать ее doStuffButtonID
.
Другими словами, я использую некое соглашение descriptor + datatype + ID
.
Это считается плохой практикой? Я всегда слышал смешанные вещи при использовании дескрипторов внутри имени. Например, на языке, таком как С++, именовании строковой переменной nameString
(поскольку, если вы измените тип данных позже, вам также нужно будет обновить имя).
Ответы
Ответ 1
Оформить заказ → https://github.com/umesh0492/android-guidelines
Дальнейшее именование ID
Идентификаторы должны начинаться с префикса с имени элемента в нижнем регистре. Например:
+---------------------+
| Element | Prefix |
|-----------+---------+
| TextView | text_ |
| ImageView | image_ |
| Button | button_ |
| Menu | menu_ |
+-----------+---------+
посмотреть пример:
<ImageView
android:id="@+id/image_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Пример меню:
<menu>
<item
android:id="@+id/menu_done"
android:title="Done" />
Лучшие рекомендации, которые я когда-либо видел, и я следую им.
Ответ 2
Я придерживаюсь этого типа соглашения об именах для идентификаторов в Android.
Пример:
Button : btSubmit
TextView : tvWelcome
EditText : etEmailId
CheckBox : cbHobbies
RadioButton : rbMale
LinearLayout : llPanel
Просто взглянув на идентификатор, вы можете определить свой компонент. и использовать тот же идентификатор в Java, чтобы избежать путаницы.
Ответ 3
Моя практика:
@+id/SummaryActivityName_SummaryViewType_Description
Например:
@+id/MyAct_Txv_UserName
@+id/MyAct_Grd_GridUsers
@+id/MyFrag_LstView_UserList
Таким способом гораздо лучше искать мнения о большом проекте. Я надеюсь, что это поможет.
Редактировать: Поместить то же имя идентификатора в имя переменной. Пример:
private TextView MyAct_Txv_UserName;
protected void onCreate(...){
MyAct_Txv_UserName = (TextView) findViewById(R.id.MyAct_Txv_UserName);
...
}