美文网首页Android
android开发编码规范

android开发编码规范

作者: 卢融霜 | 来源:发表于2020-11-28 10:52 被阅读0次

命名规范

android包命名规范

因为android包目录的命名会直接影响到整个APP项目工程后期的开发效率和拓展性,所以在创建项目的初期,包目录的命名非常重要。

android工程本身对包目录命名没有要求,可以将代码文件直接放置在默认目录下,但这样做会导致很多无关文件的堆积,不利于查找以及维护,所以一般不建议采用这种方式。

android包目录命名常用的方式有两种:
PBL(package by Layer) 和
PBF(package by Feature)。

1. Package By Layer

PBL 是按照层次划分的,实际就是按照职能划分,如在根目录里面命名activity,fragment、view、service、db、net、util、bean、base等包名。

例如activity的职能是管理所有的activity,只要这个类继承自activity,都放在这个目录下,以此类推。

早期的android APP开发采用这种形式开发。


d643d2a08932131cf088faf4cbe1085.jpg

PBL优点

  • 项目结构清晰明了,上手快
  • 适合开发人员不多、项目功能简单、后期维护不大的项目。

PBL缺点

  • 低内聚
    同一个目录下会有各种功能模块,这些模块本身没有很强的关联性,却被放在一起,导致聚合性降低。
  • 高耦合
    指的是目录之间的关联性,(例如activity目录内可能引用到fragment目录里面的类,导致目录之间耦合性较高).
  • 影响开发效率
    开发一个功能模块,往往需要在不同的包目录之间切换,目录之间频繁切换会影响开发效率,同样,修改、调试一个功能也需要这样的操作,如果后期项目功能代码增多,会大大降低开发效率。

2.Package By Feature

PBF是按照功能划分包目录的,以功能模块作为目录名,所有与这个功能模块相关的开发都放在这个目录内。

image.png

可以看到,除了与业务无关的模块,如utils这样的通用模块,每个包目录都对应一个功能模块,Google的项目采用PBF进行包目录的名

PBF优点

  • 高内聚
    所有功能都在一个包下完成。
  • 低耦合
    包目录之间没有很强的关联性,以模块的功能只需要在对应的包目录下面即可进行开发,除了基础类以外,一般不需要引入其他类。
  • 开发效率高
    增删改查都只需要在对应的包目录下操作即可,便于团队开发管理,提升问题排查效率,也方便后续开发人员接收。
  • 便于后期组件转化
    如果项目是按照PBF来进行包目录划分的,后期进行组件化改造发的时候会非常的方便,可以直接把功能模块独立出来作为一个组件,同时划分好代码边界,对外保留好模块间的访问接口。

android代码命名规范

以java为例,来说明一下如何制定代码的命名规范,命名规范如下:

代码命名不以下划线和美元符号开头。

类名

采用大驼峰命名法 :【功能】+ 【类型】
Activity类:命名以Activity为后缀。如:LoginActivity。
Fragment类:命名以Fragment为后缀。如:ShareFragment。

方法名

采用小驼峰命名法
初始化方法,命名以init开头,如initView。
点击方法,命名以to开头,如:toLogin。
设置方法,命名以set开头,如:setData。
具有返回值的获取方法,命名以get开头 如:getData.
通过异步加载数据的方法,命名以load开头,如:loadData
布尔性的判断方法,命名以is、has或者check开头 如:isEmpty、checkNull。
对数据进行处理,命名以handle开头,如:handleUserInfo.
弹出框名称以show开头,如:showAgreement.
更新数据,命名以update开头,如:updateUserInfo。
保存数据,命名以save开头,如:saveUserInfo。
重置数据,命名以reset开头,如:resetUserInfo.
删除数据,命名以delete开头,如:deleteUserinfo。
查询数据,命名以query开头,如:queryUserInfo。
移除数据,命名以remove开头,如:removeUserInfo。

变量名

采用小驼峰命名法,变量名应该简短有规则,所有变量都要显示的赋值
如:int number = 0;
布尔变量应该包含Is 如:isFirstLogin。

  • 成员变量(类变量)
    常量、静态变量全大写,采用下划线命名法
    其他变量以消息字母开头,前面不在加任何前缀。
public class Demo{
  public static final int SOME_CONSTANT = 2020;
  public int publicField = 1;
  private static Demo sSingleton;
  int mPackagePrivate;
  private int mPrivate = 0;
  protected int mProtected = 10;
}
  • 局部变量
    变量为一个单词,以小写字母开头。
    如:GiftBean bean。
  • 参数
    参数为一个或者多个单词组成,以小写字母开头。
    如: fun(int position)、fun(String userName)。
  • 临时变量

相关文章

  • Android编码规范

    Android开发代码规范相关系列文章: Android命名规范 Android编码规范 Android编码规范有...

  • 解决打包Android Studio Gradle Issue:

    猫眼android技术开发规范文档 书写规范 编码 编码方式统一用UTF-8. Android Studio默认已...

  • Android命名规范

    Android开发代码规范相关系列文章: Android命名规范 Android编码规范 俗话说:无规矩不成方圆,...

  • 雷铭大前端组件库

    雷铭大前端组件库 包含《雷铭前端开发规范》、《雷铭Android编码规范》、《雷铭iOS编码规范》以及不同技术分类...

  • android开发编码规范

    命名规范 android包命名规范 因为android包目录的命名会直接影响到整个APP项目工程后期的开发效率和拓...

  • Android编码规范指南

    title: Android编码规范指南tags: Android,基础 本文参考最全面的 Android 编码规...

  • iOS开发 | 规范编码的四个意识

    iOS开发 | 规范编码的四个意识 iOS开发 | 规范编码的四个意识

  • Android 开发规范

    前言 本文参考Google Java编程规范和阿里巴巴Java规范,Android编码规范部分参考Android开...

  • Android开发命名规范和编码规范

    命名规范 先介绍两种命名规则: 驼峰命名法:又称小驼峰命名法。除了首个单词首字母小写除外,其余所有单词所有首字母都...

  • Android组开发规范-参考95%参考阿里

    Android组开发规范 本文参考借鉴阿里Android规范 一、目标 Android组开发规范用以指导团队成员,...

网友评论

    本文标题:android开发编码规范

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