Android之定制开发规范

作者: 沉默的菋道 | 来源:发表于2017-03-08 12:13 被阅读0次

    为统一开发人员迥异的代码风格和习惯,需要定制一套开发规范,使得项目开发及维护更加方便和高效,开发规范适合自己的才是最好,这里我总结一下,我使用的开发规范。
    建立继承关系
    所有的Activity需要继承BaseActivity
    所有的Fragment需要继承BaseFragment
    所有的Presenter需要继承BasePresenter
    标识符命名法
    标识符命名法主要使用三种:

    1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。
    2 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写
    3 下划线命名法:单词与单词间用下划线做间隔。

    项目命名规则
    工程名称下划线命名法,例如:

    android-xxx-master(xxx项目名)
    

    包名
    包名package的命名一般采用三级到四级结构命名,根据需要做分包处理,如下:

    com.xxx.项目名称.功能模块
    com.xxx.项目名称.activity
    com.xxx.项目名称.fragment
    com.xxx.项目名称.widget
    com.xxx.项目名称.util
    com.xxx.项目名称.model
    com.xxx.项目名称.presenter
    com.xxx.项目名称.view
    

    类(classes)
    类(名词),采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。如:

    BaseActivity,BaseFragment,BasePresenter等
    **类的命名方式**
    

    接口(interface)
    接口的命名规则与类一样采用大驼峰命名法,多以able或ible结尾,如Runnnable
    方法(methods)
    方法(动词或动名词)的命名,采用小驼峰命名法例如:onCreate(),run()

    变量(variables)
    变量采用小驼峰命名法。类中控件名称必须与xml布局id保持一致,例如:

    btnSubmint对应btn_submit
    tvTitle对应tv_title
    

    layout中的xml
    xml的命名方式采用下划线方法,单词全部小写用下划线分隔,如:

    activity_main.xml
    fragment_mine.xml
    

    也可以这样写

    activity_模块名称_main.xml
    fragment_模块名称_mine.xml
    

    但是最好可以将res/layout/下xml做一下分包
    layout中的id
    控件id的命名方法采用下划线方法,单词全部小写用下划线分隔,如:

    tv_title
    bg_title
    btn_submit
    icon_phone
    iv_photo
    

    color.xml
    定义公共颜色,并加入备注说明,其他颜色可分模块添加

    <resources>
        <color name="Orange">#ff5722</color>
        <color name="White">#ffffff</color>
        <color name="Gray">#888888</color>
    </resources>
    

    图片
    自定义的xml图片样式统一写在drawable目录下、其他例如png图片统一放入drawable-xhdpi目录下,部分图片根据兼容性需要可以配置多份,命名规则模块名称+控件分类+实际含义,通用样式可去除模块名称,如下

    main_btn_mine_selector.xml
    

    动画
    动画anim统一放入anim文件夹下,统一采用下划线命名法:

    fade_in.xml
    fade_out.xml
    

    先总结到这吧,如果大家有什么更好的建议,欢迎您的留言,不胜感激

    相关文章

      网友评论

        本文标题:Android之定制开发规范

        本文链接:https://www.haomeiwen.com/subject/mfxbgttx.html