Skip to content

Commit 199aa0a

Browse files
author
Blankj
committed
fix: format
1 parent e1e163f commit 199aa0a

1 file changed

Lines changed: 23 additions & 22 deletions

File tree

README.md

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
1. 尽量使用最新版的 IDE 进行开发;
2727
2. 编码格式统一为 **UTF-8**
28-
3. 编辑完 .java.xml 等文件后一定要**格式化**(基本格式方面使用 AS 默认模板即可);
28+
3. 编辑完 `.java``.xml` 等文件后一定要 **格式化**(基本格式方面使用 AS 默认模板即可);
2929
4. 删除多余的 import,减少警告出现,可利用 AS 的 Optimize Imports(Settings -> Keymap -> Optimize Imports)快捷键;
3030
5. Android 开发者工具可以参考这里:**[Android 开发者工具][Android 开发者工具]**
3131

@@ -34,11 +34,11 @@
3434

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

37-
> 注意:即使纯拼音命名方式也要避免采用。但 alibabataobaoyoukuhangzhou 等国际通用的名称,可视同英文。
37+
> 注意:即使纯拼音命名方式也要避免采用。但 `alibaba``taobao``youku``hangzhou` 等国际通用的名称,可视同英文。
3838
3939
#### 3.1 包名
4040

41-
包名全部小写,连续的单词只是简单地连接起来,不使用下划线,采用反域名命名规则,全部使用小写字母。一级包名是顶级域名,通常为 comedugovnetorg 等,二级包名为公司名,三级包名根据应用进行命名,后面就是对包名的划分了,关于包名的划分,推荐使用按功能分,一开始我们也是按照层去分包的,很坑爹。按照功能分可能你不是很好区分在哪个功能中,不过也比你按照层区分要好找很多。具体可以参考这篇博文:**[Package by features, not layers][Package by features, not layers]**,当然,我们大谷歌也有相应的 sample**[iosched][iosched]**,其结构如下所示,很值得学习。
41+
包名全部小写,连续的单词只是简单地连接起来,不使用下划线,采用反域名命名规则,全部使用小写字母。一级包名是顶级域名,通常为 `com``edu``gov``net``org` 等,二级包名为公司名,三级包名根据应用进行命名,后面就是对包名的划分了,关于包名的划分,推荐使用按功能分,一开始我们也是按照层去分包的,很坑爹。按照功能分可能你不是很好区分在哪个功能中,不过也比你按照层区分要好找很多。具体可以参考这篇博文:**[Package by features, not layers][Package by features, not layers]**,当然,我们大谷歌也有相应的 Sample**[iosched][iosched]**,其结构如下所示,很值得学习。
4242

4343
```
4444
java
@@ -328,7 +328,7 @@ PBL 中包的大小无限增长是合理的,因为功能越添越多,而 PBF
328328

329329
#### 3.2 类名
330330

331-
类名都以 UpperCamelCase 风格编写。
331+
类名都以 `UpperCamelCase` 风格编写。
332332

333333
类名通常是名词或名词短语,接口名称有时可能是形容词或形容词短语。现在还没有特定的规则或行之有效的约定来命名注解类型。
334334

@@ -355,7 +355,7 @@ PBL 中包的大小无限增长是合理的,因为功能越添越多,而 PBF
355355

356356
#### 3.3 方法名
357357

358-
方法名都以 lowerCamelCase 风格编写。
358+
方法名都以 `lowerCamelCase` 风格编写。
359359

360360
方法名通常是动词或动词短语。
361361

@@ -377,7 +377,7 @@ PBL 中包的大小无限增长是合理的,因为功能越添越多,而 PBF
377377

378378
#### 3.4 常量名
379379

380-
常量名命名模式为 CONSTANT_CASE,全部字母大写,用下划线分隔单词。那到底什么算是一个常量?
380+
常量名命名模式为 `CONSTANT_CASE`,全部字母大写,用下划线分隔单词。那到底什么算是一个常量?
381381

382382
每个常量都是一个静态 `final` 字段,但不是所有静态 `final` 字段都是常量。在决定一个字段是否是一个常量时,考虑它是否真的感觉像是一个常量。例如,如果任何一个该实例的观测状态是可变的,则它几乎肯定不会是一个常量。只是永远不打算改变对象一般是不够的,它要真的一直不变才能将它示为常量。
383383

@@ -401,7 +401,7 @@ static final String[] nonEmptyArray = {"these", "can", "change"};
401401

402402
#### 3.5 非常量字段名
403403

404-
非常量字段名以 lowerCamelCase 风格的基础上改造为如下风格:基本结构为 scopeVariableNameType。
404+
非常量字段名以 `lowerCamelCase` 风格的基础上改造为如下风格:基本结构为 scopeVariableNameType。
405405

406406
**scope:范围**
407407

@@ -457,12 +457,12 @@ public class MyClass {
457457

458458
#### 3.6 参数名
459459

460-
参数名以 lowerCamelCase 风格编写,参数应该避免用单个字符命名。
460+
参数名以 `lowerCamelCase` 风格编写,参数应该避免用单个字符命名。
461461

462462

463463
#### 3.7 局部变量名
464464

465-
局部变量名以 lowerCamelCase 风格编写,比起其它类型的名称,局部变量名可以有更为宽松的缩写。
465+
局部变量名以 `lowerCamelCase` 风格编写,比起其它类型的名称,局部变量名可以有更为宽松的缩写。
466466

467467
虽然缩写更宽松,但还是要避免用单字符进行命名,除了临时变量和循环变量。
468468

@@ -583,15 +583,15 @@ public class MyClass {
583583
> 注意:使用 Android Studio 的插件 SelectorChapek 可以快速生成 selector,前提是命名要规范。
584584
585585

586-
#### 4.3 动画文件(anim 文件夹下)
586+
#### 4.3 动画文件(`anim` 文件夹下)
587587

588588
全部小写,采用下划线命名法,加前缀区分。
589589

590590
具体动画采用以下规则:`模块名_逻辑名称`
591591

592592
例如:`refresh_progress.xml``market_cart_add.xml``market_cart_remove.xml`
593593

594-
普通的 tween 动画采用如下表格中的命名方式:`动画类型_方向`
594+
普通的 `tween` 动画采用如下表格中的命名方式:`动画类型_方向`
595595

596596
| 名称 | 说明 |
597597
| ----------------- | ------- |
@@ -606,7 +606,7 @@ public class MyClass {
606606
| `shrink_to_middle` | 中间缩小 |
607607

608608

609-
#### 4.4 values 中 name 命名
609+
#### 4.4 `values` 中 name 命名
610610

611611
##### 4.4.1 `colors.xml`
612612

@@ -722,9 +722,9 @@ public class MyClass {
722722
/>
723723
```
724724

725-
你或许需要为按钮控件做同样的事情,不要停止在那里。将一组相关的和重复 `android:****` 的属性放到一个通用的 `style` 中。
725+
你或许需要为按钮控件做同样的事情,不要停止在那里。将一组相关的和重复 `android:xxxx` 的属性放到一个通用的 `style` 中。
726726

727-
**将一个大的 `styles.xml` 文件分割成多个文件**, 你可以有多个 `styles.xml` 文件。Android SDK 支持其它文件,`styles.xml` 这个文件名称并没有作用,起作用的是在文件里的 `<style>` 标签。因此你可以有多个 style 文件,如 `styles.xml``styles_home.xml``styles_item_details.xml``styles_forms.xml`。不同于资源文件路径需要为系统构建起的有意义,在 `res/values` 目录下的文件可以任意命名。
727+
**将一个大的 `styles.xml` 文件分割成多个文件**, 你可以有多个 `styles.xml` 文件。Android SDK 支持其它文件,`styles.xml` 这个文件名称并没有作用,起作用的是在文件里的 `<style>` 标签。因此你可以有多个 `style` 文件,如 `styles.xml``styles_home.xml``styles_item_details.xml``styles_forms.xml`。不同于资源文件路径需要为系统构建起的有意义,在 `res/values` 目录下的文件可以任意命名。
728728

729729

730730
#### 4.5 layout 中的 id 命名
@@ -747,9 +747,9 @@ Android 开发存在着众多版本的不同,比如 `compileSdkVersion`、`min
747747

748748
别再闭门造车了,用用最新最火的技术吧,安利一波:**[Android 流行框架查速表][Android 流行框架查速表]**,顺便带上自己的干货:**[Android 开发人员不得不收集的代码][Android 开发人员不得不收集的代码]**
749749

750-
希望 Team 能用时下较新的技术,对开源库的选取,一般都需要选择比较稳定的版本,作者在维护的项目,要考虑作者对issue的解决,以及开发者的知名度等各方面。选取之后,一定的封装是必要的。
750+
希望 Team 能用时下较新的技术,对开源库的选取,一般都需要选择比较稳定的版本,作者在维护的项目,要考虑作者对 issue 的解决,以及开发者的知名度等各方面。选取之后,一定的封装是必要的。
751751

752-
个人推荐Team可使用如下优秀轮子
752+
个人推荐 Team 可使用如下优秀轮子
753753

754754
* **[Retrofit][Retrofit]**
755755
* **[RxAndroid][RxAndroid]**
@@ -903,7 +903,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可,
903903

904904
11. 项目引入 `RxAndroid` 响应式编程,可以极大的减少逻辑代码;
905905

906-
12. 通过引入事件总线,如:`EventBus``AndroidEventBus``RxBus`,它允许我们在 `DataLayer` 中发送事件,以便`ViewLayer`中的多个组件都能够订阅到这些事件,减少回调;
906+
12. 通过引入事件总线,如:`EventBus``AndroidEventBus``RxBus`,它允许我们在 `DataLayer` 中发送事件,以便 `ViewLayer` 中的多个组件都能够订阅到这些事件,减少回调;
907907

908908
13. 尽可能使用局部变量;
909909

@@ -957,11 +957,11 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可,
957957

958958
使用单例可以减轻加载的负担、缩短加载的时间、提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:
959959

960-
(1)控制资源的使用,通过线程同步来控制资源的并发访问
960+
(1)控制资源的使用,通过线程同步来控制资源的并发访问
961961

962-
(2)控制实例的产生,以达到节约资源的目的
962+
(2)控制实例的产生,以达到节约资源的目的
963963

964-
(3)控制数据的共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信
964+
(3)控制数据的共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信
965965

966966
21. 把一个基本数据类型转为字符串,`基本数据类型.toString()` 是最快的方式,`String.valueOf(数据)` 次之,`数据 + ""` 最慢;
967967

@@ -1055,7 +1055,8 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可,
10551055

10561056
## 版本日志
10571057

1058-
* 17/03/06: 发布初版 ;
1058+
* 17/11/29: 格式化中英混排;
1059+
* 17/03/06: 发布初版;
10591060
* 17/03/07: 修订目录排版,完善某些细节;
10601061
* 17/03/08: 规范排版,修复typor及新增一些规范;
10611062
* 17/03/13: 新增其他注释;
@@ -1067,7 +1068,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可,
10671068
[iosched]: https://github.com/google/iosched
10681069
[安卓开发规范(updating)]: https://github.com/Blankj/AndroidStandardDevelop
10691070
[Android 开发者工具]: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0526/7973.html
1070-
[Android Studio下对资源进行分包]: http://www.jianshu.com/p/8e893581b9c7
1071+
[Android Studio 下对资源进行分包]: http://www.jianshu.com/p/8e893581b9c7
10711072
[Android 开发之版本统一规范]: http://www.jianshu.com/p/db6ef4cfa5d1
10721073
[Android 流行框架查速表]: http://www.ctolib.com/cheatsheets-Android-ch.html
10731074
[Android 开发人员不得不收集的代码]: https://github.com/Blankj/AndroidUtilCode

0 commit comments

Comments
 (0)