Android 包命名规范

Android包目录的命名规范会直接影响到整个APP攻城后期的开发效率和拓展性。

常用两种命名方式:PBL(package by layer ) 和PBF(pakcage by Feature)

layer 英/ˈleɪə(r)/ 翻译:层

feature 英/ˈfiːtʃə(r)/ 翻译:特色

1 Package By Layer

层命名:

即 activity层下全是XXActivity,比如LoginActivity、RegisterActivity、AboutAsActivity

fragment层下全是XXFragment,比如IMFragment、FriendsFragment、MyFragment

bean层下全是XXBean,比如UserBean、EmailBean、BookBean

utils层下全是XXUtils,比如LogUtils、SPUtils、CameraUtils、ScanUtils

view层下全是自定义view,比如FlowLayout、PhotoView、SubsimpleScrollImageView

特点:

项目结构一目了然,上手快

适合开发人员不多、项目结构简单、后期变动不大的项目

缺点:

低内聚,同一目录包含了多个功能模块,比如activity里有登录、注册、设置还有主界面、扫码、拍照、修改个人信息等,界面之间没有很强的关联性,却被放置在一块,导致聚合性降低。

影响开发效率。比如主界面MainActivity引用了fragment,需要去fragment层下找对应的fragment类来开发,目录切换会影响开发效率。后期模块增多,命名众多的情况下,查找会消耗一定的时间,降低开发效率。

2 Package By Feature

        特色命名:

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

                比如login目录下,是登录模块。登录模块里分Activity层,比如LoginActivity,RegisterActivity、SplashActivity、GuideActivity,登录模块中fragment层里放GuideFragment等

                除了业务相关放一块,如utils这样的通用模块,也可根据业务相关方在对应的分包目录下方便查找和使用。

        特点:

                高内聚,低耦合。以map为例,包含了fragment、adapter等。目录之间没有很强的关联性,此模块的功能只需要在对应的包目录下进行开发,出基础类以外,一般不需要一如其他包的类。

                便于团队开发管理,提升问题排查效果,方便后期其他开发人员接盘。重要的是后期方便转组件化。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值