Skip to main content

文件命名

命名原则#

命名原则:见名知意

实施规范#

Java文件#

  • Java文件名采用大驼峰命名法。
  • 命名规则:逻辑名_分类
  • 规则说明:
    • 类的命名用名词名词短语,当类名由多个单词组成时,同一类别业务的类使用同一前缀。
    • 类名要以该类实际的组件类型作为结尾。如:ActivityFragmentServiceReceiverAdapterListener 类型的类文件名末尾相应的需要以 ActivityFragmentServiceReceiverAdapterListener结尾。

xml文件#

  • 文件名全部小写,多个单词用下划线分隔。

  • 布局文件(layout 文件夹下)

    • 命名规则: 模块名_逻辑名_布局类型

    • 规则说明:

      1. 文件命名以模块划分,然后接该布局文件的逻辑名称,后面加入布局文件的组件类型。如:activity 与 fragment 的布局文件后面加入 act、frag 后缀。
        正例:user_list_act.xml
        反例:activity_user_list.xml

        注:之所以不推荐 activity_user_list.xml 这种命名方式,是因为一旦采用这种方式,相同模块的布局文件,在目录中的排列会因为文件命名而分散到各处,比如 UserListActivity 画面中用到了两个布局文件,画面整体的布局和页面中的列表条目的布局,推荐如下的命名方式:user_list_act.xmluser_list_act_lvi.xml,这样的命名方式在集成开发环境中这两个文件会被排列在一起。如果采用如下方式的命名:activity_user_list.xmlitem_user_list.xml,则在集成开发环境中两个文件就会被排列在距离较远的位置,不利于查找。

      2. 布局文件可以使用约定的缩写以减小文件名称长度
        常用布局文件名称缩写约定:
        |名称|缩写| |-|-| |activity|act| |fragment|frag| |list_view_item|lvi| |grid_view_item|gvi| |recycler_view_item|rvi|

  • 绘画文件(drawable 文件夹下)

    • 命名规则:类型_逻辑名

    • 规则说明: 文件命名以类型为前缀命名,表示这个绘画文件表示一个什么样的资源(本资源是形状?选择器?图标?等等),类型前缀后面加入表示该资源对应的逻辑名称。 常用前缀:shape(形状)、selector(选择器)、icon(图标)
      例:
      |名称|说明| |-|-| |shape_common_btn_dialog_cancel_normal.xml|本资源为形状| |selector_btn_round_normal.xml|本资源为选择器| |icon_common_loading.xml|本资源为图标|

      注:

      • shapeselectoricon 等做前缀的好处是,我们可以通过文件名一眼看出这个 drawable 的作用是什么,有利于在面对一些画面UI问题时帮助我们快速分析问题(比如某按钮按下时没有样式变化一类的问题)。
      • 之所以不把业务名称写在文件名前面,是因为在工程中往往有很多 drawable 资源是可以复用的,这时如果用业务来命名,会导致资源文件泛滥,比如登录画面中的确定按钮与支付画面中的确定按钮都需要用到一个相同的 selector,由于按照业务名称命名,我们不得不写两个一模一样的 selector 来对应代码的逻辑,login_btn_selector.xmlpayment_btn_selector.xml,其实我们只需要写一个 selector,并给这个 selector 起一个泛化的名称,比如:selector_common_primary_btn.xml,然后为两个画面的按钮都指定此 selector 即可。所以,泛化可复用的 drawable 的命名,并复用之。当然,对于程序中没有复用或者需要特殊处理的 drawable 除外。

图片文件#

  • 文件名全部小写,多个单词用下划线分隔。

  • 命名规则:类型_逻辑名

  • 规则说明:文件命名以类型为前缀命名,如:图标类图片加入 ic 前缀,背景类图片加入 bg 前缀。通用图片需加入 common 前缀,前缀后面名称按照图片表示的业务逻辑命名。

    注:图片资源加入前缀的目的主要是方便图片的查找与对图片的理解,例如,加入 icbg 前缀可以使我们快速的知道这个图片是一个图标类的小型图片还是一个背景类的大型图片;加入 common 前缀可以标识一个图片是工程公用图片,可以有效的防止工程中的公用图片被以不同的名称放入资源文件夹多次的问题。

    例:
    |名称|说明| |-|-| |common_ic_arrow_left_white.png|通用类图标,左向箭头图标| |ic_user_info_edit.png|非通用类图标,用户信息编辑图标| |bg_startup_bottom.png|非通用类图片,启动画面底部背景图片|

资源文件(二进制文件、html、js等等)#

  • 文件名全部小写,多个单词用下划线分隔。
  • 命名规则:逻辑名.后缀名
  • 资源文件直接按照业务逻辑进行命名。
    例:
    warning.ogg

    注:如果是 html、js 等 web 资源文件,则相应的遵循 web 资源的命名规则。