news 2026/9/12 9:24:39

写码如写诗,Android代码规范有多重要?附阿里《Android代码规范指南》PDF

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
写码如写诗,Android代码规范有多重要?附阿里《Android代码规范指南》PDF

前言

所谓无规矩不成方圆。任何团队,规范都是怎么也绕不开的话题。特别是在我们编程行业,代码规范乃是团队的重中之重。我们有太多的理由去做规范,同时我们在做规范这件事上也有太多的痛点。

随着团队人数的增加,每个人的代码编写喜好不同,代码风格也迥然不同。每一个程序员心目中对‘好代码’都有自己的主见,统一的编码规范可以像秦始皇统一战国一样,避免不必要的论战和争议。

统一的编码规范对团队项目的长远维护不无裨益. 一致性的代码规范可以增强团队开发协作效率、提高代码质量、减少遗留系统维护的负担。

下面分享给大家这份来自阿里《Android代码规范指南》,如果你耐心看完,一定会提升代码质量,让你写出诗一样的代码。

1. Android 的工具规范

工欲善其事,必先利其器。由于 Android 基本都基于 Android Studio 进行开发,所以工具规范全部以 Android Studio 为前提。

2. Android 的分包规范

前面强调了工具的统一配置,再利用 Android Studio 本身的功能便可把代码风格变得一致。接下来就带来第二部分:Android 的分包规范。对于分包,我们需要达成一致,我们采用 PBF 方式,不推荐使用 PBL 方式。

3. Android 的命名规范

代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。正确的英文拼写和语法可以让阅读者易于理解,避免歧义。

  • 包名
  • 类名
  • 方法名
  • 变量命名
  • 资源命名

4.Android 的注释规范

  • 类注释
  • 方法注释
  • 块注释
  • 全局变量的注释
  • 其他一些注释
  • 注释必须遵守的规范

5. 代码样式规范

  • 使用标准大括号样式
  • 编写简短方法
  • 类成员的顺序
  • 函数参数的排序
  • 字符串常量的命名和值
  • 行长限制

6.资源文件规范

资源文件命名为全部小写,采用下划线命名法。

如果是组件化开发,我们可以在组件和公共模块间创建一个 ui 模块来专门存放资源文件,然后让每个组件都依赖 ui

模块。这样做的好处是如果老项目要实现组件化的话,只需把资源文件都放入 ui 模块即可。

如果是三方库开发,其使用到的资源文件及相关的 name 都应该使用库名作为前缀,这样做可以避免三方库资源和实际应用资源重名的冲突。

  • 动画资源文件(anim/ 和 animator/)
  • 颜色资源文件(color/)
  • 图片资源文件(drawable/ 和 mipmap/)
  • 布局资源文件(layout/)
  • 菜单资源文件(menu/)
  • values 资源文件(values/)
  • id 命名

7.版本统一规范

8.第三方库规范

9.测试规范

  • 单元测试
  • Espresso 测试

10.其他的一些规范

11.编码规约

12.常量定义

13.异常处理

14.Android 实践

需要完整版的小伙伴微信扫描CSDN官方认证二维码免费获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 9:13:16

MATLAB实现马尔可夫链:从原理到应用(天气预测、PageRank、文本生成)

1. 项目概述:从“随机漫步”到“状态转移”如果你曾经尝试预测明天的天气、分析股票价格的波动,或者研究一个用户在网站上的点击流,那么你已经在不自觉地思考一个核心问题:如何描述一个未来状态依赖于当前状态,而与过去…

作者头像 李华
网站建设 2026/8/30 16:43:34

AI谄媚治理:从大模型对齐到执法辅助系统的客观性保障

AI谄媚(AI sycophancy)是当前大模型应用里最容易被忽略、又最难排除的一类问题。它指的是模型为了迎合用户、评委或对话上下文,给出对方想听的答案,而答案本身在事实上并不够准确。放到普通聊天、文案创作里,这种问题最…

作者头像 李华
网站建设 2026/8/30 4:31:48

模块2 STM32程序开发-项目2 STM32 基础应用-任务5 OLED液晶显示

基于STM32的物联网环境监测与远程控制系统实训套件-淘宝网 任务5 OLED液晶显示 一、任务描述 本任务基于STM32F103C8T6最小系统板,使用0.96 寸 IIC 接口 OLED 液晶屏实现字符、汉字与数据显示。采用PB8 作为 SCL、PB9 作为 SDA的软件 I2C 方式驱动 OLED 模块&…

作者头像 李华
网站建设 2026/8/30 11:41:14

航天级GaN DC-DC转换器:设计、验证与辐射考核全解析

GaN(氮化镓)这几年在快充和服务器电源里已经不算新鲜词了,但“Space Qualified DC-DC Converters Leverage GaN Technology”这个说法一出来,情况就不太一样了。航天级电源意味着高可靠、抗辐射、宽温区、长寿命,这跟消…

作者头像 李华
网站建设 2026/8/30 11:05:20

AI双筒望远镜实测:识别、防抖与成像增强如何改变观察体验

AI 在双筒望远镜行业已经不是停留在纸面上的概念,而是正在变成一批能真实买到的产品。我最近集中体验了几类带 AI 功能的双筒望远镜和配套 App,最大的感受是:AI 确实改变了观察和使用方式,但它没有改变光学产品的基本逻辑——先看…

作者头像 李华
网站建设 2026/8/30 19:15:56

Linux PipeWire深度解析之pw_main_loop_get_loop调用流程与实战(八十五)

简介: CSDN博客专家、《Android系统多媒体进阶实战》作者 博主新书推荐:《Android系统多媒体进阶实战》🚀 Android Audio工程师专栏地址: Audio工程师进阶系列【原创干货持续更新中……】🚀 Android多媒体专栏地址&a…

作者头像 李华