android 代码规范

规范建议

  • 本文档参考《阿里巴巴 Java 开发手册》撰写而成.撰写人:Simon,撰写时间:2022/1/26

一、命名规范

命名原则:单一,简洁,易懂

  • 任何变量名建议采用驼峰命名法
    • TextView tvName = findViewbyId(R.id.tv_name);
  • 全局变量建议在变量名前面增加前缀m
    • private UserModel =mUser;
  • 布局命名方式建议统一命名
    • activity的用act_开头
    • fragment用frag_开头
    • dialog用dialog_开头
    • popupwindow统一用pop_开头
    • 其他自定义view统一用view_开头;
    • tips:后面但凡涉及到页面有关的命名,都建议统一加上此处的命名规则
  • 控件id建议采用_分隔,同时参考布局命名方式,以对应的View的缩写命名
    • TextView的命名前缀一定是tv:R.id.tv_user_info
    • item的命名前缀一般是item:R.id.item_xxxx
  • 资源文件命名方式
    • 图片统一开头icon:icon_header
    • 选择器命名:select-XXX
    • 背景页建议采用bg_act_XXX或者bg_frag_XXX的方式命名
  • String国际化文件命名,必须要保证每个页面每个地方的文字的key都是唯一的,哪怕翻译文案完全相同,也不要复用
    • act_title_XXX或frag_title_XXX,
    • 禁止使用字符串拼接的方式去做国际化
    • 建议不要写死view的宽度,因为不同语种下的文案长度可能不同
  • colors命名规则
    • 格式全部一致:color_000000,直接把颜色值放在color后面,避免起名困难症,如果有透明度,需要在前两位增加透明度
  • 屏幕适配规则:建议直接采用今日头条适配方案,侵入性小,兼容性高,部分规则性高度,比如状态栏高度,标题栏高度可写入dimens文件

二、组件UI规范

原则:高内聚,低耦合,高并发,高性能

  • 逻辑复杂的代码必须有注释,在关键的步骤进行说明
  • 少用匿名内部类,避免出现内存泄露问题,使用了动画的匿名内部类监听的话,要及时调用remove等方法去释放
  • 不要在onSaveInstanceState里面去保留常规数据,因为这里一般是意外销毁才调用
  • Intent隐式跳转的时候,必须resolveActivity进行检测
  • 如果需要在Service里进行耗时操作,建议开启子线程或者使用IntentService
  • 布局嵌套能少则少
  • 尽量使用DialogFragment替代以前的dialog,以便于进行生命周期的管理
  • 常用控件需要抽取封装
  • 弃用SrollView,使用NestedScrollView替代,对性能会有提升
  • RecyclerView刷新数据的时候,避免使用notifydataset方法,建议采用notifyItemChanged等相关方法去操作单一的数据变化,高频刷新可以采用带payload的方法去实现

通信规范

  • 禁止new thread,使用线程池来替代
  • 尽量传单一变量:如id之类的字段,对象继承自Parcelable不要继承Serializable,大量数据建议采用eventbus、rxbus等传递

版本管理规范

  • 无用代码尽量及时删除,不要留着对正常代码产生干扰,如果需求要求还原,建议从历史版本里寻找相关代码
  • 提交代码尽量详细的描述提交的内容,一来便于自测,二来便于沟通
  • 建议每完成一个功能模块都要提交一次代码,细分提交便于应对需求的频繁调整

你可能感兴趣的:(android 代码规范)