Android XML开发中布局控件id能否使用更简洁的命名?
Android EditText控件ID命名:长命名的意义与简洁命名的可行性
先看你给出的这段EditText代码:
<EditText android:id="@+id/MU_EditText_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Please login e-mail adress" android:textSize="15px" android:inputType="textEmailAdress" android:maxLines="1" />
为什么会用较长的ID命名?
长命名的核心目的是提升代码的可读性和可维护性,具体来说:
- 明确归属与功能:
MU大概率是某个模块(比如用户模块、登录模块)的缩写,加上EditText能直接看出控件类型,在大型项目或多人协作场景下,不用跳转布局就能知道这个控件属于哪个模块、是什么类型,定位效率更高。 - 避免命名冲突:如果只用
email、et这类短命名,项目里控件多了很容易重复,尤其是不同布局里的同类型控件,长命名能降低冲突概率。 - 符合团队规范:很多团队会要求ID包含模块前缀、控件类型、功能描述,统一的命名风格能让所有成员快速理解代码结构。
能不能用更简洁的命名?
当然可以,但前提是不能牺牲清晰性。比如这个输入框是用来填写登录邮箱的,完全可以改成mu_login_email或者login_email_et,既简洁又能明确功能。
要避开的是过于模糊的短命名,比如et1、input这种——过不了多久你自己都记不清这个控件是干嘛的,后续接手项目的人更会一脸懵。
额外的命名小建议
Android官方推荐ID用小写字母+下划线的风格(你例子里的MU如果是模块缩写,团队约定大写也没问题,但统一风格更重要),而且ID优先体现功能,控件类型可以作为后缀或者省略——比如login_email比email_edittext更实用,因为在Java/Kotlin代码里,变量声明已经能看出它是EditText类型,我们更关心它的功能是什么。
内容的提问来源于stack exchange,提问作者Emir Bolat
相关产品推荐
相关产品推荐

