极光日报
首发于极光日报

分享一个 Android XML 的命名规范

简评:当开始一个新项目的时候,我们通常都会去关心项目的架构、要用哪些技术等等。但对于资源文件的命名同样重要,良好的命名规范能让我们更快、更方便的找到目标文件,节省时间,就是节约金钱啊。

对于 Android 开发中资源文件的命名,很多人一直模棱两可,这里就给大家分享一个 Android 资源文件的命名规范。

基本规则

  • <WHAT>:指明文件实际是什么。比如,MainActivity -> activity_
  • <WHERE>:指明文件在应用中属于哪个模块。多个屏幕都会用到的资源使用 all_,其他的分别是所属的 Android 视图名。比如,MainActivity -> activity_main,ArticleDetailFragment -> fragment_articledetail。
  • <DESCRIPTION>:区分一个屏幕中的多个元素。比如,_title_。
  • <SIZE>(可选):一个精确的大小或对大小的描述。用于 drawable 和 dimension。比如,_24dp, _small。

这样命名的优点:
  1. 资源文件按屏幕排序。<WHERE> 指明了资源文件所属的屏幕,所以你能很快找到某个特定界面的资源文件。
  2. 更好的组织结构。Android Studio 中的文件是按照字母顺序的,因此 WHAT 和 WHERE 前缀就起到了文件分类的作用。
  3. 更高效的自动完成。通常只需输入 WHAT 或 WHERE 就足以将自动完成提供的选项缩小到合适的程度。
  4. 合乎逻辑的资源文件命名,会让你的 Android 项目结构更加清晰。

LAYOUT

布局文件的命名规则可以简化为:

<WHAT> 是下面的其中一个:

示例:

  • activity_main
  • fragment_articledetail
  • view_menu
  • item_article
  • layout_actionbar_backbutton

STRING

对于字符串来说同样不需要 <WHAT> 前缀,因此直接用 <WHERE> 作为前缀。

如果字符串会在多个页面被用到,使用 all_ 作为前缀。

示例:

  • articledetail_title
  • feedback_explanation
  • feedback_namehint
  • all_done

DRAWABLE

同样,对于 drawable <WHAT> 是没有必要的,因此我们这样来命名:

会被复用的 drawable 同样以 all_ 作为前缀:

注意 <SIZE> 是可选的。示例:

  • articledetail_placeholder
  • all_infoicon
  • all_infoicon_large
  • all_infoicon_24dp

ID

对于 ID,<WHAT> 是 xml 元素的类名,比如 tablayout, imageview 等等。<WHERE> 是 xml 文件所在屏幕的名称。

示例:

  • tablayout_main
  • imageview_menu_profile
  • textview_articledetail_title

DIMENSION

应当只定义有限的 dimension,并尽量复用它们。<WHAT> 前缀可以用下面列举的这些:

示例:

  • height_toolbar
  • keyline_listtext
  • textsize_medium
  • size_menu_icon
  • height_menu_profileimage

原文:A SUCCESSFUL XML NAMING CONVENTION

扩展阅读:

欢迎关注:知乎专栏「极光日报」,每天为 Makers 导读三篇优质英文文章。

发布于 2017-04-05

文章被以下专栏收录

    简介:每日导读(或翻译)三篇优质英文文章,内容 80% 涉及硅谷/编程/科技/,期待共同成长。