布局文件命名约定?
什么是人们提出的一些布局文件命名约定。
我没有在网上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_ok
, global_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版本