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等。目录之间没有很强的关联性,此模块的功能只需要在对应的包目录下进行开发,出基础类以外,一般不需要一如其他包的类。

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

相关推荐

  1. 前端代码规范-命名规范

    2024-04-12 19:14:03       11 阅读
  2. CSS 命名规范-BEM

    2024-04-12 19:14:03       33 阅读
  3. Redis key命名规范

    2024-04-12 19:14:03       31 阅读
  4. CSS 命名规范 - BEM

    2024-04-12 19:14:03       15 阅读
  5. 前端通用命名规范和Vue项目命名规范

    2024-04-12 19:14:03       17 阅读
  6. Kotlin 导规则

    2024-04-12 19:14:03       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-12 19:14:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-12 19:14:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-12 19:14:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-12 19:14:03       20 阅读

热门阅读

  1. 苍穹外卖总结

    2024-04-12 19:14:03       16 阅读
  2. Yarn vs npm的大同小异&Yarn是什么?

    2024-04-12 19:14:03       13 阅读
  3. linux常用命令汇总

    2024-04-12 19:14:03       16 阅读
  4. leetcode热题HOT 200. 岛屿数量(深入理解DFS和BFS)

    2024-04-12 19:14:03       16 阅读
  5. 从入门到放弃:Docker基础教程

    2024-04-12 19:14:03       14 阅读
  6. 聚焦ChatGPT:让论文写作更高效更精准

    2024-04-12 19:14:03       16 阅读
  7. 个人微信api

    2024-04-12 19:14:03       16 阅读