Android中ID命名约定的最佳做法?

Dou*_*ass 28 standards android android-studio

我首先看到了这个链接,但似乎没有太多活动:Android中ID的命名约定

我很好奇在Android Studio的Design View中为各种项目命名ID的最佳做法是什么.

现在我正在做这样的事情:如果它是带有"欢迎来到我的程序"文本的TextView,我会给它命名welcomeTextViewID.如果它是一个启动某个子程序的按钮doStuff,我可能会调用它doStuffButtonID.

换句话说,我使用了一种descriptor + datatype + ID惯例.

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

UME*_*492 16

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

进一步的ID命名

ID应以小写下划线中的元素名称为前缀.例如:

+---------------------+
| Element   | Prefix  |
|-----------+---------+
| TextView  | text_   |
| ImageView | image_  |
| Button    | button_ |
| Menu      | menu_   |
+-----------+---------+
Run Code Online (Sandbox Code Playgroud)

查看示例:

<ImageView
    android:id="@+id/image_profile"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

菜单示例:

<menu>
    <item
        android:id="@+id/menu_done"
        android:title="Done" />
Run Code Online (Sandbox Code Playgroud)

我见过的最好的指导方针,我也遵循它们.

  • @WaiHaLee我同意你的要求,并据此更新了答案 (2认同)
  • 如果元素名称本身是两个单词,例如“ChipGroup”怎么办?你会放“chip_group_”还是“chipGroup_”? (2认同)

Ash*_*ale 6

我在Android中遵循此类ID命名约定。

例如:

Button : btSubmit
TextView : tvWelcome
EditText : etEmailId
CheckBox : cbHobbies
RadioButton : rbMale
LinearLayout : llPanel
Run Code Online (Sandbox Code Playgroud)

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

  • 我也更喜欢这种风格,因为稍后在 Java/Kotlin 代码中我可以只复制 id 名称来制作相应的变量名,并且它匹配 java 的/kotlin 变量命名约定。在 Kotlin 上使用扩展并且不需要一直使用 findViewById() 时,它看起来更自然。 (3认同)