满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述Android开发规范和接口规范相关的知识,希望能为你提供帮助。
- AS规范
- 尽量使用最新的稳定版的 IDE 进行开发
- 编辑完 .java、.xml 等文件后一定要 格式化,格式化,格式化(如果团队有公共的样式包,那就遵循它,否则统一使用 AS 默认模板即可)
- 删除多余的import,减少警告出现,利用 AS 的 Optimize Imports(Settings -> Keymap -> Optimize Imports)快捷键Ctrl+Alt+O
- 命名规范
- 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。正确的英文拼写和语法可以让阅读者易于理解,避免歧义
- 注意:即使纯拼音命名方式也要避免采用。但 alibaba、taobao、youku、hangzhou 等国际通用的名称,可视同英文。
- 代码样式规范
- 使用标准大括号样式{ },左大括号不单独占一行,与其前面的代码位于同一行
- 函数参数的排序:最好把 Context 作为其第一个参数
- 字符串常量的命名和值
- static final String PREF_EMAIL = "PREF_EMAIL";
- static final String BUNDLE_AGE = "BUNDLE_AGE";
- static final String ARGUMENT_USER_ID = "ARGUMENT_USER_ID";
- Activities 和 Fragments 的传参:当 Activity 或 Fragment 启动需要传递参数时,那么它需要提供一个 public static 的函数来帮助启动或创建它
- 行长限制:代码中每一行文本的长度都应该不超过 100 个字符。
- 资源文件规范命名规则:类型{_模块名}_逻辑名称
- 版本统一规范
- android 开发存在着众多版本的不同,比如 compileSdkVersion、minSdkVersion、targetSdkVersion 以及项目中依赖第三方库的版本,不同的 module 及不同的开发人员都有不同的版本,所以需要一个统一版本规范的文件。
- 如果是开发多个系统级别的应用,当多个应用同时用到相同的
so
库时,一定要确保
so
库的版本一致,否则可能会引发应用崩溃
- android 开发存在着众多版本的不同,比如 compileSdkVersion、minSdkVersion、targetSdkVersion 以及项目中依赖第三方库的版本,不同的 module 及不同的开发人员都有不同的版本,所以需要一个统一版本规范的文件。
- 第三方库规范
- 希望 Team 能用时下较新的技术,对开源库的选取,一般都需要选择比较稳定的版本。比如Retrofit、RxAndroid、OkHttp、Glide/Fresco、Gson/Fastjson、EventBus/AndroidEventBus、GreenDao
- 注释规范
- 类注释:每个类完成后应该有作者姓名和联系方式的注释,对自己的代码负责。
- 方法注释:每一个成员方法(包括自定义成员方法、覆盖方法、属性方法)的方法头都必须做方法头注释,在方法前一行输入 /** + 回车 或者设置 Fix doc comment(Settings ->
Keymap ->
Fix doc comment)快捷键,AS 便会帮你生成模板,我们只需要补全参数即可
- 块注释:块注释与其周围的代码在同一缩进级别。它们可以是 /* ... */ 风格,也可以是 // ... 风格(// 后最好带一个空格)。对于多行的 /* ... */ 注释,后续行必须从 * 开始, 并且与前一行的 * 对齐。
- 其他一些注释:AS 已帮你集成了一些注释模板,我们只需要直接使用即可,在代码中输入 todo、fixme 等这些注释模板,回车后便会出现
- 类注释:每个类完成后应该有作者姓名和联系方式的注释,对自己的代码负责。
- 接口规范
-
数据的整体统一:
根据已有的数据格式,建议返回数据统一为: { “status” : 1 , ”msg” : ”成功” , ”data” : ”….” } data为对应返回的数据,可以为JSON键值对中任意类型 如果数据异常,status为0或其他定义的整数,msg为错误信息,data对应格式如下:
文章图片
- By LiYing
-
数据的整体统一:
推荐阅读
- 安卓开发学习——广播接收器
- 印度信实实业集团欲效仿微信推出超级APP
- App极限开发第四第五天
- App(4.22)
- log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
- 使用ACRA和Cloudant自动生成Android崩溃报告
- 免费监控Linux/Ubuntu上的Nginx实时指标
- 如何配置Nginx为Node.js服务静态文件
- 如何在Nginx中从AWS,Google Cloud LB和Cloud Flare获取客户端IP()