Android 您使用哪些约定来避免为视图提供重复的ID?

Android 您使用哪些约定来避免为视图提供重复的ID?,android,coding-style,Android,Coding Style,我设置了一些约定,以避免将重复ID分配给不同的视图。例如,我使用了一个前缀,它是子视图布局的某种缩写,并使用了诸如Btn(代表按钮)和IV(代表图像视图)之类的后缀。它几乎保证了ID在较高级别上的唯一性,但是否存在任何(几乎)正式(或通用)的ID像驼峰命名这样的惯例在本例中?我个人认为,我的ID前缀是整个视图名,而不是缩写 例如按钮\u登录 我觉得这更容易阅读,只要名字不要太长 鉴于Android资源不能包含大写字母,ID可能也更喜欢使用蛇壳(尽管我也见过其他人,包括我自己,不喜欢使用骆驼壳)

我设置了一些约定,以避免将重复ID分配给不同的视图。例如,我使用了一个前缀,它是子视图布局的某种缩写,并使用了诸如Btn(代表
按钮
)和IV(代表
图像视图
)之类的后缀。它几乎保证了ID在较高级别上的唯一性,但是否存在任何(几乎)正式(或通用)的ID像驼峰命名这样的惯例在本例中?

我个人认为,我的ID前缀是整个视图名,而不是缩写

例如
按钮\u登录

我觉得这更容易阅读,只要名字不要太长

鉴于Android资源不能包含大写字母,ID可能也更喜欢使用蛇壳(尽管我也见过其他人,包括我自己,不喜欢使用骆驼壳)

考虑到他们称自己的按钮为“我的按钮”
my_button
,这种命名约定有点糟糕,但它们确实使用了蛇壳和视图的名称。(尽管我同意你的观点,它应该放在第一位)

一般来说,我认为这取决于个人喜好,以及其他人可能正在阅读你的代码。如果你认为缩写词如“btn”是好的,我会说继续使用它们


只要你建立一个约定,并坚持下去,你就没事。

我使用一个源自VB网络时代的3个字符的命名约定:btn、img、lvw、txt、edt,…@FrankN.Stein确实,我更喜欢3个字符的缩写,而且效果很好。但是,如果你必须以不同的方式定义两个
cancelBtn
,你该怎么办布局?如何在不被强迫记住一切的情况下保持唯一性?在不同的布局中?我可以在它们前面加上布局名称。例如:
dlgAlert\u btnCancel
dlgConfirm\u btnCancel
。它有相当的逻辑,所以不会强迫你去做心理上的肢端。@FrankN.Stein是的,在不同的布局中。所以我并不孤单:)我也在这样做,而且这似乎是一种常见的方法。然后。。。我想问题已经解决了。看起来你太勤奋了:)但是,正如我问@Frank N.Stein的那样,如果你必须在不同的布局中定义两个say
cancelBtn
,你会怎么做?你如何保持唯一性而不被强迫记住一切?看看这个,我认为最好的做法是尝试使你所有的ID都是唯一的,但如果你绝对不能做到这一点,那也没关系。我不想在它们前面加上布局名称,因为这样会使名称变得超长,但如果你对此感到满意,那就继续吧。好吧,那是另一回事。