布局文件命名约定?

Sal*_*o69 38 layout android naming-conventions android-layout

人们提出了哪些布局文件命名约定.

我没有在网上找到任何东西,但考虑使用以下约定.

每个人都在想什么?

 - activity_* 
 - dialog_*
 - list_item_*
Run Code Online (Sandbox Code Playgroud)

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

另外,活动与其布局的命名如何?例如:

-> res
    -> layout
        -> activity_about_us.xml
-> src
    -> activity
        -> AboutUs.java
Run Code Online (Sandbox Code Playgroud)

Ogn*_*yan 28

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

班级名称:ActAboutUs.前缀类有点矫枉过正,但它明确区分了活动类和其他类.最初我使用单独的目录进行所有活动(类似于你的方法),但过了一段时间后我意识到,对于更大的应用程序,可能最好按功能分组目录而不是超类(即活动).我在单个目录中工作更容易,例如/src/settings/当我处理Settings时.这样我需要的所有java文件都在一个目录中,所以我不必四处闲逛:

/src/settings/ActSettingsGlobal.java
/src/settings/ActSettingsNet.java
/src/settings/Settings.java
/src/settings/SettingsDBAdapter.java
/src/settings/etc...
Run Code Online (Sandbox Code Playgroud)

这种方法也有助于在不同的开发人员之间分配工作,即每个人都在他自己的目录上使用单独的功能,所以没有踩到彼此的脚:-).

有些人会使用后缀,但我觉得它们不太有用.前缀有助于按字母顺序对事物进行分组,如上例所示:Act*首先对前缀进行排序,以便所有活动都方便地位于顶部.

我甚至考虑使用Act_更具可读性的前缀,尽管它与java命名约定相冲突...

布局文件名:act_about_us.xml.在res/layout/我们没有子目录的"奢侈品",因此要组事物的唯一方式是使用适当的前缀,像这是很不幸的act_,dlg_等...

字符串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,名称等时创建了这样一个不方便的框架. .

  • 我一直在谷歌搜索寻找一些跟随自己的指南,正如你发现的那样让我发布这个问题. (6认同)

Sun*_*dey 9

我认为遵循命名惯例

对于活动

如果我们的活动名称是

DisplayListActivity
Run Code Online (Sandbox Code Playgroud)

然后我们的布局名称应该是

display_list_activity.xml
Run Code Online (Sandbox Code Playgroud)

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

country_list_item.xml
Run Code Online (Sandbox Code Playgroud)

对于对话框,可以包含它们的动作

delete_country_dialog.xml
Run Code Online (Sandbox Code Playgroud)


Mol*_*imo 6

在寻找一组布局时,我倾向于使用它们,我发现总是在前面添加类名并跟进任何子布局是有效的.例如:

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

您的活动将始终位于每个分组的顶部,并且非活动的搜索变得不那么繁琐.任何人都知道为什么子文件夹不是一件事吗?我希望后端的效率和简单性,但我想它不会太痛苦.


onm*_*133 6

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

基本上,你遵循 WHAT WHERE DESCRIPTION SIZE

例如,布局文件

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

字符串

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

drawable - all_infoicon_large:通用信息图标的大版本 - all_infoicon_24dp:通用信息图标的 24dp 版本