Android 中 ID 命名约定的最佳实践?

Best practices for ID naming conventions in Android?

我第一次看到这个link,但似乎没有多少activity:Naming convention for IDs in Android

我很好奇在 Android Studio 的设计视图中为各种项目命名 ID 的最佳做法是什么。

现在我正在做这样的事情:如果它是带有文本 "Welcome To My Program" 的 TextView,我将其命名为 welcomeTextViewID。如果它是启动某个名为 doStuff 的子例程的 Button,我可能会称它为 doStuffButtonID.

换句话说,我使用了一种descriptor + datatype + ID约定。

这被认为是不好的做法吗?我总是听到关于在名称中使用描述符的混合说法。例如,在像 C++ 这样的语言中,命名一个字符串变量 nameString(因为如果您稍后更改数据类型,您还必须更新名称)。

我的实践:

@+id/SummaryActivityName_SummaryViewType_Description

例如:

@+id/MyAct_Txv_UserName
@+id/MyAct_Grd_GridUsers
@+id/MyFrag_LstView_UserList

这种方式更适合大项目征求意见。 希望对你有帮助。

编辑: 将相同的 ID 名称放在变量名称上。示例:

private TextView MyAct_Txv_UserName;

protected void onCreate(...){
    MyAct_Txv_UserName = (TextView) findViewById(R.id.MyAct_Txv_UserName);
    ...
}

我在 Android 中遵循这种类型的 ID 命名约定。

例如:

Button : btSubmit
TextView : tvWelcome
EditText : etEmailId
CheckBox : cbHobbies
RadioButton : rbMale
LinearLayout : llPanel

只需查看 id,您就可以识别您的组件。并在 java 中使用相同的 ID 以避免混淆。

结帐 --> https://github.com/umesh0492/android-guidelines

更多ID命名

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" />

我所见过的最好的指南,我确实遵循了它们。