人们提出了哪些布局文件命名约定。
我没有在网上找到任何东西,但考虑使用以下约定。
每个人都在想什么?
- activity_*
- dialog_*
- list_item_*
到目前为止,这就是我所有的工作。
此外,针对其布局命名活动怎么样?例如:
-> res
-> layout
-> activity_about_us.xml
-> src
-> activity
-> AboutUs.java
答案 0 :(得分:28)
奇怪的是,尝试谷歌这个问题只会使这个页面成为有意义的结果...... 在过去的半年里,我使用与您类似的命名约定,但前缀较短。例如: 对于显示“关于我们”屏幕的活动:
班级名称:ActAboutUs
。前缀类有点矫枉过正,但它明确区分了活动类和其他类。最初我使用单独的目录进行所有活动(类似于你的方法),但过了一段时间后我意识到,对于更大的应用程序,可能最好按功能分组目录而不是超类(即活动)。当我处理“设置”时,我更容易在单个目录中工作,例如/src/settings/
。这样我需要的所有java文件都在一个目录中,所以我不必四处闲逛:
/src/settings/ActSettingsGlobal.java
/src/settings/ActSettingsNet.java
/src/settings/Settings.java
/src/settings/SettingsDBAdapter.java
/src/settings/etc...
这种方法也有助于在不同的开发人员之间分配工作,即每个人都在他自己的目录上使用单独的功能,所以没有踩到彼此的脚: - )。
有些人会使用后缀,但我觉得它们不太有用。前缀有助于按字母顺序对事物进行分组,如上例所示:Act*
前缀首先排序,因此所有活动都方便地位于顶部。
我甚至考虑使用Act_
作为前缀,虽然它与java命名约定相冲突但更具可读性...
布局文件名:act_about_us.xml
。在res/layout/
我们没有“奢侈”的子目录,这是非常不幸的,因此分组的唯一方法是使用适当的前缀,如act_
,dlg_
等...... / p>
字符串ID :<string name="act_about_us_dlg_help1_title" ...
string.xml
是我们遇到重复name
个问题最多的地方。如果不使用activity_element_item
之类的命名约定,则很容易创建重复项。它增加了许多额外的输入,但它可以避免以后的混乱。
对于全局(应用程序范围)字符串,我们使用前缀"global_"
,例如global_btn_ok
,global_msg_no_inet_conn
。通常我们会让一个人对所有global_
字符串负责,所以如果有人需要新的字符串或更改,他需要与他同步以避免造成混乱。
(现在我意识到activity__element__item
(两个下划线)比activity_element_item
更清晰可读
总而言之,我仍然无法摆脱我的方法存在问题的感觉,因为我无法相信谷歌开发人员在处理文件,ID,名称时会创建这样一个不方便的框架,等...
答案 1 :(得分:9)
我认为遵循命名惯例应遵循
用于活动
如果我们的活动名称是
DisplayListActivity
然后我们的布局名称应为
display_list_activity.xml
对于列表项,我们可以在列表项布局名称中包含类别
country_list_item.xml
对于对话框,可以包含其操作
delete_country_dialog.xml
答案 2 :(得分:6)
在寻找一组布局时,我倾向于使用它们,我发现总是在前面添加类名并跟进任何子布局是有效的。对于实例:
班级名称: AboutActivity.java
布局名称: about_activity.xml
子布局名称: about_activity_menu.xml
子子布局名称: about_activity_menu_item.xml
您的活动将始终位于每个分组的顶部,并且寻找非活动变得不那么繁琐。任何人都知道为什么子文件夹不是一件事吗?我期望后端的效率和简单性,但我想它不会太痛苦。
答案 3 :(得分:3)
这是一本很好的阅读https://jeroenmols.com/blog/2016/03/07/resourcenaming/
基本上,您关注WHAT WHERE DESCRIPTION SIZE
例如,布局文件
的字符串
可绘制 - all_infoicon_large:通用信息图标的大版本 - all_infoicon_24dp:24dp版本的通用信息图标
答案 4 :(得分:1)
布局文件名的第一部分应始终是相应类的类型。
例如,如果我们有一个类MainActivity
(在这种情况下类型为Activity
),则应调用相应的布局文件activity_main.xml
这意味着我们可以说我们有一个名为WarningDialog
的对话框,相应的布局文件应该被称为dialog_warning.xml
,同样适用于片段等。
这可能看起来很熟悉,因为这也是在Android Studio中创建新项目时activity/layout
文件的命名方式(MainActivity
- &gt; activity_main.xml
)。
答案 5 :(得分:0)
对我来说,命名应解决两个重要要求:
对于第二个要求,大多数人将“相关”定义为相关类型,从而为您提供以下信息:
activity_login
activity_movie_list
activity_user_list
activity_settings
fragment_movie_list
fragment_user_list
item_movie
item_user
等
我更喜欢按功能分组,因为您几乎永远不会处理所有活动或所有片段,而只能使用电影功能或设置功能。
所以,我的首选方式是:
login_activity
movie_list_activity
movie_list_fragment
movie_list_item
user_list_activity
user_list_fragment
user_list_item
settings_activity
源文件遵循xml命名,但是在CamelCase中,因此会有
LoginActivity
MovieListActivity
MovieFragment
etc.