Android编码规范

2020-06-29  本文已影响0人  郭陈

Android 编码规范


订正内容 时间 订正人
** 2020-4-20 guo******home@163.com

1.资源文件导入及命名


2.第三方及插件引用规范


3.代码规范

  1. java语言编码规范(具体业务逻辑由 kotlindart 处理)

    • 命名规则(类名:驼峰)(变量名&方法名:小驼峰)
      • 类名 :_(驼峰)_MainActivity.java AppBarAdapter.java
      • 数据对象: 以 Bean 结尾 如:UserBean
      • 事件对象: 以Event结尾 如:OutLoginEvent
      • 方法名(小驼峰)
        • 事件名 以do开头 如 doresum() dosRestart()
        • 变量类型 bool 类型以 is 如:isShow() isSelect()
        • 取设方法 (获取值)fetch (存值)put (效验)has (bool)is (注意:仅用于bean)get set
      • 变量:
        • 全局常量:大写+下划线 如:APP_IDWX_SHARE_NAMEUSER_NAME 等...
        • 全局变量:小驼峰 如:userName, isAuth,userBean等..
        • 局部变量: 同 全局变量
  2. kotlin语言编码规范 (业务逻辑(尤其是UI业务(activity,adapter,view等))处理建议使用 kotlin )

    • 命名规则 同java命名规则相同
    • 规约
      • 在使用类型处理业务时,如根据后台返回用户类型判断用户操作状态时应使用 枚举

        • //反例
          fun pullUserView(userType:Int){
            when(userType){
              1:->{...}
              2:->{...}
            }
          }
          
          //正例
          enum class UserTypeEnum(var type: Int, var valu: String) {
               ZiRanRen(1, "自然人"),//自然人
               GeTi(2, "个体/个独")//个体}
               
          fun pullUserView(userType:Int){
            when(userType){
              UserTypeEnum.ZiRanRen.type:->{...}
              UserTypeEnum.GeTi.type:->{...}
            }
          }
          
          
        • 注释:
        /**
         *  类注释
         *  功能:XXX
         *  参数:XXX
         *  创建日期:yyyy-MM-dd 
         *  作者:glen
         */
        class A(){
           /*
            * 方法说明
            * @参数  说明
            * @参数 说明
            * @retur  返回说明
            */
            fun doReSum(view:View){
            
            }
        
        }
        
        
      • OOP

        *类的使用及参数(类的参数构造及方法的参数构造)

        
         /**
         *  xx:XX ?=null  声明可空
        
            避免空指针
         */
         class A(context:Contxt,list:List<String>?){
         
             var context:Context?=null
             var list:List<String>?=null
            init{
              /// 赋值  注意*************
              this.context=context
              ///要这样书写,保证如果传值为null 不出现 空指针错误
              this.list=list?:arraof<String>()
            }
            
            
         fun postView (list:List<String>,index:Int){
           TextView view= context?.findviewById(R.id.tv_name)
           
           /// `这里要注意,每次赋值,都要进行默认赋值,不要 !.  要使用 ?.`
           view.text=list[index]?.name?:"默认值"
         }
         
         }
         
        
  3. dart语言编码规范

    • 文件命名

      • 使用 "小写"+"_" 的方式
        • 如果是页面 则 以 view 结尾
    • 类的命名 同上 java 命名

      • 变量 私有 前加 _ 下划线 如:_userId=null
      • 变量 以小驼峰 格式 如: userId
      • 常量 私有 大写 + 下划线 如:_USER_TOKEN
      • 常量 USER_TOKEN
    • 方法 同 java& Kotlin 但是 私有的话 需要前面加 "_"

  4. 布局规范

    • 布局命名 同上 文件资源 layout 一样

    • 组件id设置

      • 命名:以组件首字母为首拼,后以功能 如: tv_name
         <TextView
                android:id="@+id/tv_finsh"
                ...... />
               
          <ImageView android:id="@+id/iv_head"
           ...../>
        
        
        
      * 布局  嵌套过多的布局 建议使用 
       
       * ``` xml
      <android.support.constraint.ConstraintLayout />
      

      来节省开支,防止UI因嵌套过多带来的卡顿

5.宿主(Host)结构规范

上一篇 下一篇

猜你喜欢

热点阅读