美文网首页
开发规范

开发规范

作者: ChasenZhang | 来源:发表于2021-08-11 15:35 被阅读0次

    1、继承规范

    Activity
    所有新建的Activity必须直接或间接继承BaseActivity。
    在base组件里,共提供了以下几种父类Activity,如无特殊自定义需求,则必须继承以下父类
    -BaseActivity               //基类Activity
    -BaseFragmentActivity       //内部实现showFragment方法,自动管理fragment的显示和隐藏
    -EventBusActivity           //要使用EventBus,则继承该类即可
    -EventBusFragmentActivity   //实现了EventBus的BaseFragmentActivity
    
    Fragment
    所有新建的Fragment必须直接或间接继承BaseFragment。
    在base组件里,共提供了以下几种父类Fragment,如无特殊自定义需求,则必须继承以下父类
    -BaseFragment               //基类Fragment,已实现懒加载
    -EventBusFragment           //要使用EventBus,则继承该类即可
    
    MVP
    所有新建的IPresenter接口必须直接或间接继承IBasePresenter。
    所有新建的实现IPresenter接口的Presenter类,必须直接或间接继承BasePresenter
    所有新建的IView接口必须直接或间接继承BaseView。
    

    2、类注释模板规范

    在android studio的setting->Editor->Code Style->File and Code Templates窗口,切换到Includes子窗口,在File Header模块中修改为以下模板
     
    /**
     * Description:
     * 
     * Author: #Your name
     * Date: ${DATE}.
     */
    

    3、类命名规范

    -Activity:必须以Activity结尾。
    -Fragment:必须以Fragment结尾。
    -Api接口:必须以Server结尾,如无必要,新增的接口都写在ApiServer接口内。
    -Api接口方法:必须以request开头
    -Dialog:必须以Dialog结尾。
    -组合控件:必须以Layout结尾
    -自定义控件:必须以View结尾
    -shape资源:必须以shape_开头
    -selector资源:必须以selector_开头
    -MVP的Contract:命名+Contract
    -MVP的Presenter:接口以 I+命名+Presenter ,实现类则为 命名+Presenter
    -MVP的View:命名+View
    -接口解析实体:以Resp结尾
    

    4、自定义View属性命名规范

    为防止自定义属性命名冲突,自定义View属性命名为 View名字 + _ + 属性名,属性名遵循驼峰命名,如下

    <resources>
        <declare-styleable name="DemoView">
            <attr name="DemoView_scaleWidth" format="integer"/>
            <attr name="DemoView_scaleHeight" format="integer"/>
        </declare-styleable>
    </resources>
    

    5、视图文件命名规范

    -Activity:以activity_开头,如activity_main
    -Fragment:以fragment_开头,如fragment_home
    -组合控件视图:以layout_开头,如layout_titlebar
    -Recyclerview的item视图:以item_开头,如item_news
    

    相关文章

      网友评论

          本文标题:开发规范

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