安卓XML ID命名

3

关于在XML布局中命名ID,有一些问题。

如果我有一个用于创建学生的Activity,那么学生姓名的EditText最合适的id是什么?

  1. et_student_name
  2. et_name
  3. et_create_student_name

我总是使用3,因为它与类名相关。但有时我认为它太长了。我想使用2/3,它更短,但我担心它会在其他XML中重复。

什么是好的id命名规范?不同XML布局中重复的ID是否不好?

等待帮助,谢谢。


你可以随意命名,只要符合命名规范。在 XML ID 中,你可以使用下划线,但只能使用小写字母,不能使用大写字母。对于名称,你可以随意取,但应该为其目的提供有意义且独特的名称,不应重复。选择一个你容易记住的名称,用于你的应用程序或项目。 - Ajay P. Prajapati
2个回答

0

首先,除非您正在创建分布式的“jar”或“SDK”,否则您将在构建时发现名称冲突。那时再担心它,现在不用。您花费的时间试图避免这个问题比它的价值还要高。有时候需要预防问题,但这不是其中之一。

如果您仍然担心,那么有两个前缀可以考虑使用。首先,添加一个前缀,该前缀在某种程度上描述了具有元素的XML文件。例如,如果XML文件名为“create_student.xml”,则将“cs_”添加为前缀的元素。(顺便说一下 - 当您更改文件名时,这真的很糟糕,但这很少发生。)

其次,为您正在定位的包/类添加前缀(或另一个前缀)。这可以防止SDK和其他库中可能以另一个开发人员的构建结束的重复项。例如,如果您的SDK是“学生注册和识别”,则在包中的每个元素中添加“sri_”。

其余的名称完全由您决定。对于EditText中的名称添加“et_”是有帮助的,其他情况几乎每次都会“太长”或“不够”。


通常不会。当您引用它们时,它会找到正确的元素,但如果您在一个XML文件中更改其中一个的名称,而在另一个文件中没有更改,则您的应用程序仍将编译,但会出现运行时错误。此外,您的R.java文件中将有两个对同一“ID”的引用 - 一些编译器将拒绝这种情况。 - Jim

0

补充一下@AjayP.Prajapati的建议,你的标识符不应该与Java关键字相同,例如breakcontinueswitchfor等等,同时你的标识符也不需要太过于特殊。如果你有重复的标识符,将返回第一个出现的。


是的,谢谢,和真。它们不应该是Java的特殊关键字。 - Ajay P. Prajapati

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接