布局文件命名约定?

什么是人们提出的一些布局文件命名约定。

我没有在网上find任何东西,但想到使用以下约定。

大家怎么想?

- activity_* - dialog_* - list_item_* 

这就是我迄今为止所做的一切。

另外,对于它的布局命名的活动呢? 例如:

 -> res -> layout -> activity_about_us.xml -> src -> activity -> AboutUs.java 

奇怪的是,试图谷歌这个问题带来只有这个页面作为有意义的结果…在过去的半年,我使用的命名约定类似于你的,但较短的前缀。 例如:对于显示“关于我们”屏幕的活动:

类名ActAboutUs 。 前缀类是有点矫枉过正,但它明显地区分了活动类和其他类。 最初我使用单独的目录进行所有活动(类似于您的方法),但是过了一段时间,我意识到对于更大的应用程序而言,最好是通过function进行分组而不是通过超类进行分组(即Activity)。 当我在设置上工作时,在单个目录中工作对于例如/src/settings/是很容易的。 这样,我需要的所有java文件都在一个单独的目录,所以我不必漫步:

 /src/settings/ActSettingsGlobal.java /src/settings/ActSettingsNet.java /src/settings/Settings.java /src/settings/SettingsDBAdapter.java /src/settings/etc... 

这种方法也有助于在不同的开发人员之间分工,即每个人都在自己的独立特征中工作,所以不会彼此踩脚.-)。

有些人提供后缀,但我发现他们没用。 前缀有助于按照上面的例子按字母顺序对事物进行分组: Act*前缀首先被sorting,因此所有活动都方便地位于顶部。

我甚至考虑使用Act_作为前缀,虽然它与java命名约定冲突,但它更易读…

布局文件名act_about_us.xml 。 在res/layout/我们没有“豪华”的subdirs,这是相当不幸的,所以唯一的方法来分组是使用像act_dlg_等适当的前缀…

stringID<string name="act_about_us_dlg_help1_title" ... string.xml是我们遇到重复name问题最多的地方。 如果没有使用像activity_element_item这样的命名约定,那么创build重复项是非常容易的。 它增加了很多额外的input,但它可以在以后避免大量的混淆。 对于全局(应用程序范围)string,我们使用前缀"global_" ,例如global_btn_okglobal_msg_no_inet_conn 。 通常我们让一个人负责所有的global_ strings,所以如果有人需要新的string或者改变,他需要与他同步以避免造成混乱。

(现在我意识到activity__element__item (两个下划线)比activity_element_item更清晰可读)

总而言之,我仍然无法摆脱我的方法出现问题的感觉,因为我不敢相信Google开发人员在处理文件,ID,名称等时创build了这样一个不方便的框架。 。

我认为应遵循以下命名约定

为活动

如果我们的活动名称是

 DisplayListActivity 

那么我们的layoutname应该是

 display_list_activity.xml 

对于列表项目,我们可以在列表项目布局名称中包含类别

 country_list_item.xml 

对于对话框他们的行动可以包括在内

 delete_country_dialog.xml 

当寻找一组布局时,我倾向于在这些布局上工作,我发现总是预先input类名并跟随任何子布局是有效的。 例如:

类名称: AboutActivity.java
布局名称: about_activity.xml
子布局名称: about_activity_menu.xml
Sub子布局名称: about_activity_menu_item.xml

你的活动将永远在每个分组的顶部,非活动的狩猎变得不那么麻烦。 任何人都知道为什么子文件夹不是什么东西呢? 我期待后端的效率和简单性,但是我认为它不会太多伤害。

布局文件名的第一部分应始终是相应类的types。 例如,如果我们有一个MainActivity类(在这种情况下,types为Activity ),则相应的布局文件应该被称为activity_main.xml

这意味着可以说我们有一个叫做dialog_warning.xml的对话框,相应的布局文件应该叫做dialog_warning.xml ,片段也一样。

这看起来似乎很熟悉,因为这也是在Android Studio中创build新项目时,如何命名activity/layout文件( MainActivity – > activity_main.xml )。

这是一个很好的阅读https://jeroenmols.com/blog/2016/03/07/resourcenaming/

基本上,你按照WHAT WHERE DESCRIPTION SIZE

例如,布局文件

  • activity_main:MainActivity的内容视图
  • ArticleDetailFragment的fragment_articledetail:view

string

  • articledetail_title:ArticleDetailFragment的标题
  • feedback_explanation:FeedbackFragment中的反馈说明

可绘制 – all_infoicon_large:通用信息图标的大版本 – all_infoicon_24dp:通用信息图标的24dp版本