From a5699fd69db0dbe55fa61da8abb900b6ebfb56a4 Mon Sep 17 00:00:00 2001 From: Blankj <625783482@qq.com> Date: Fri, 8 Dec 2017 22:28:25 +0800 Subject: [PATCH 1/8] see the log --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f23a64a..d19068c 100755 --- a/README.md +++ b/README.md @@ -621,7 +621,9 @@ public Observable syncLocations() { 资源文件命名为全部小写,采用下划线命名法。 -如果想对资源文件进行分包可以参考我这篇文章:**[Android Studio 下对资源进行分包][Android Studio 下对资源进行分包]**。 +如果是组件化开发,我们可以在组件和公共模块间创建一个 ui 模块来专门存放资源文件,然后让每个组件都依赖 ui 模块。这样做的好处是如果老项目要实现组件化的话,只需把资源文件都放入 ui 模块即可,如果想对资源文件进行分包,可以参考我这篇文章:**[Android Studio 下对资源进行分包][Android Studio 下对资源进行分包]**;还避免了多个模块间资源不能复用的问题。 + +如果是三方库开发,其使用到的资源文件及相关的 `name` 都应该使用库名作为前缀,这样做可以避免三方库资源和实际应用资源重名的冲突。 #### 5.1 动画资源文件(anim/ 和 animator/) @@ -654,7 +656,9 @@ public Observable syncLocations() { 专门存放颜色相关的资源文件。 -命名规则:`类型_逻辑名称`。 +命名规则:`类型{_模块名}_逻辑名称`。 + +说明:`{}` 中的内容为可选。 例如:`sel_btn_font.xml`。 @@ -1189,6 +1193,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, ## 版本日志 +* 17/12/08: 新增组件化和三方库开发资源文件规范; * 17/12/05: 新增 logo; * 17/12/04: 完善按功能分包,修复 typo,定该版为完结版; * 17/12/03: 完善代码样式规范和测试规范; From 81a67b68337ef8f999de3c65dddba1cecbecee95 Mon Sep 17 00:00:00 2001 From: Blankj <625783482@qq.com> Date: Sat, 9 Dec 2017 16:17:02 +0800 Subject: [PATCH 2/8] see the log --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d19068c..5798f6f 100755 --- a/README.md +++ b/README.md @@ -460,7 +460,7 @@ public void loadUserAsync(Context context, int userId, UserCallback callback); #### 4.5 字符串常量的命名和值 -Android SDK 中的很多类都用到了键值对函数,比如`SharedPreferences`、`Bundle`、`Intent`,所以,即便是一个小应用,我们最终也不得不编写大量的字符串常量。 +Android SDK 中的很多类都用到了键值对函数,比如 `SharedPreferences`、`Bundle`、`Intent`,所以,即便是一个小应用,我们最终也不得不编写大量的字符串常量。 当时用到这些类的时候,我们 **必须** 将它们的键定义为 `static final` 字段,并遵循以下指示作为前缀。 @@ -866,7 +866,7 @@ public Observable syncLocations() { #### 5.7 id 命名 -命名规则:`view缩写{_模块名}_逻辑名`,例如: `btn_main_search`、`btn_back`。 +命名规则:`view 缩写{_模块名}_逻辑名`,例如: `btn_main_search`、`btn_back`。 如果在项目中有用黄油刀的话,使用 AS 的插件:ButterKnife Zelezny,可以非常方便帮助你生成注解;没用黄油刀的话可以使用 Android Code Generator 插件。 @@ -962,7 +962,7 @@ public static byte[] bitmap2Bytes(Bitmap bitmap, CompressFormat format) { #### 8.3 块注释 -块注释与其周围的代码在同一缩进级别。它们可以是 `/* ... */` 风格,也可以是 `// ...` 风格(**`//`后最好带一个空格**)。对于多行的 `/* ... */` 注释,后续行必须从 `*` 开始, 并且与前一行的 `*` 对齐。以下示例注释都是 OK 的。 +块注释与其周围的代码在同一缩进级别。它们可以是 `/* ... */` 风格,也可以是 `// ...` 风格(**`//` 后最好带一个空格**)。对于多行的 `/* ... */` 注释,后续行必须从 `*` 开始, 并且与前一行的 `*` 对齐。以下示例注释都是 OK 的。 ```java /* @@ -1002,7 +1002,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, 测试函数被 `@Test` 所注解,函数名通常以被测试的方法为前缀,然后跟随是前提条件和预期的结果。 -* 模板:`void methodName前提条件和预期结果()` +* 模板:`void methodName 前提条件和预期结果()` * 例子:`void signInWithEmptyEmailFails()` > 注意:如果函数足够清晰,那么前提条件和预期的结果是可以省略的。 @@ -1027,7 +1027,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, 5. 当一个类有多个构造函数,或是多个同名函数,这些函数应该按顺序出现在一起,中间不要放进其它函数; -6. 数据提供统一的入口。无论是在 MVP、MVC 还是 MVVM 中,提供一个统一的数据入口,都可以让代码变得更加易于维护。比如可使用一个 `DataManager`,把 `http`、`preference`、`eventpost`、`database` 都放在 `DataManager` 里面进行操作,我们只需要与 `DataManager`打交道; +6. 数据提供统一的入口。无论是在 MVP、MVC 还是 MVVM 中,提供一个统一的数据入口,都可以让代码变得更加易于维护。比如可使用一个 `DataManager`,把 `http`、`preference`、`eventpost`、`database` 都放在 `DataManager` 里面进行操作,我们只需要与 `DataManager` 打交道; 7. 多用组合,少用继承; From ec3eed5afabd03e97c3db9b734b7e0ab3f992e14 Mon Sep 17 00:00:00 2001 From: Blankj <625783482@qq.com> Date: Sun, 10 Dec 2017 23:16:42 +0800 Subject: [PATCH 3/8] see the log --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5798f6f..69cc41f 100755 --- a/README.md +++ b/README.md @@ -271,7 +271,7 @@ public class MyClass { ##### 3.5.2 Type0(控件类型) -考虑到 Android 众多的 UI 控件,为避免控件和普通成员变量混淆以及更好地表达意思,所有用来表示控件的成员变量统一加上控件缩写作为前缀(具体见附录[UI 控件缩写表](#ui-控件缩写表))。 +考虑到 Android 众多的 UI 控件,为避免控件和普通成员变量混淆以及更好地表达意思,所有用来表示控件的成员变量统一加上控件缩写作为前缀(具体见附录 [UI 控件缩写表](#ui-控件缩写表))。 例如:`mIvAvatar`、`rvBooks`、`flContainer`。 From 849e97410ded86735ad1de237a12b8c46303d313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=83=E5=85=B0=E6=9F=AF=E5=9F=BA?= <625783482@qq.com> Date: Wed, 30 Jan 2019 23:22:44 +0800 Subject: [PATCH 4/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 69cc41f..583f22a 100755 --- a/README.md +++ b/README.md @@ -1233,7 +1233,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, [Android 包命名规范]: http://www.ayqy.net/blog/android%E5%8C%85%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83/ [Android 开发最佳实践]: https://github.com/futurice/android-best-practices/blob/master/translations/Chinese/README.cn.md [Android 编码规范]: http://www.jianshu.com/p/0a984f999592 -[阿里巴巴 Java 开发手册]: https://github.com/alibaba/p3c/blob/master/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E7%BA%AA%E5%BF%B5%E7%89%88%EF%BC%89.pdf +[阿里巴巴 Java 开发手册]: https://github.com/alibaba/p3c/blob/master/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E8%AF%A6%E5%B0%BD%E7%89%88%EF%BC%89.pdf [Project and code style guidelines]: https://github.com/ribot/android-guidelines/blob/master/project_and_code_guidelines.md [Google Java 编程风格指南]: http://www.hawstein.com/posts/google-java-style.html [小细节,大用途,35 个 Java 代码性能优化总结!]: http://www.jianshu.com/p/436943216526 From 75ee27a97479628cbfd0c37e5a3fbd3774d1a491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=83=E5=85=B0=E6=9F=AF=E5=9F=BA?= <625783482@qq.com> Date: Sat, 29 Jun 2019 20:31:26 +0800 Subject: [PATCH 5/8] Create FUNDING.yml --- .github/FUNDING.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..750e8ac --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/donate.png From b0aa2e0a95a5b3aa423255d717429c7a383ab17b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=83=E5=85=B0=E6=9F=AF=E5=9F=BA?= <625783482@qq.com> Date: Thu, 15 Aug 2019 22:09:13 +0800 Subject: [PATCH 6/8] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 583f22a..1c458b9 100755 --- a/README.md +++ b/README.md @@ -1207,6 +1207,13 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, * 17/03/06: 发布初版; +## 打个小广告 + +欢迎加入我的知识星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」,我会在星球中分享 [AucFrame](https://blankj.com/2019/07/22/auc-frame/) 框架、大厂面经、[AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;**如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美)加我个人微信,发送给我你的星球 ID,方便我后续拉你进群(PS:进得越早价格越便宜)。** + +![我的二维码](https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/wechat.png) + + [logo]: https://raw.githubusercontent.com/Blankj/AndroidStandardDevelop/master/art/logo.png [Package by features, not layers]: https://medium.com/@cesarmcferreira/package-by-features-not-layers-2d076df1964d#.mp782izhh From dda28208ec949ab5dbb2491b75758f473ea29560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=83=E5=85=B0=E6=9F=AF=E5=9F=BA?= <625783482@qq.com> Date: Sat, 12 Oct 2019 15:17:06 +0800 Subject: [PATCH 7/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c458b9..ed7e16d 100755 --- a/README.md +++ b/README.md @@ -1209,7 +1209,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, ## 打个小广告 -欢迎加入我的知识星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」,我会在星球中分享 [AucFrame](https://blankj.com/2019/07/22/auc-frame/) 框架、大厂面经、[AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;**如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美)加我个人微信,发送给我你的星球 ID,方便我后续拉你进群(PS:进得越早价格越便宜)。** +欢迎加入我的知识星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」,我会在星球中分享 [AucFrame](https://blankj.com/2019/07/22/auc-frame/) 框架、大厂面经、[AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;**如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美+你的星球昵称)加我个人微信,方便我后续拉你进群(PS:进得越早价格越便宜)。** ![我的二维码](https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/wechat.png) From 6e8b3bf1411275ce6a3a17e9cce840d5096643fd Mon Sep 17 00:00:00 2001 From: Blankj Date: Thu, 10 Dec 2020 23:21:01 +0800 Subject: [PATCH 8/8] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index ed7e16d..c83b895 100755 --- a/README.md +++ b/README.md @@ -1209,9 +1209,7 @@ AS 已帮你集成了一些注释模板,我们只需要直接使用即可, ## 打个小广告 -欢迎加入我的知识星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」,我会在星球中分享 [AucFrame](https://blankj.com/2019/07/22/auc-frame/) 框架、大厂面经、[AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「**[基你太美](https://t.zsxq.com/FmeqfYF)**」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;**如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美+你的星球昵称)加我个人微信,方便我后续拉你进群(PS:进得越早价格越便宜)。** - -![我的二维码](https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/wechat.png) +欢迎加入我的小专栏「**[基你太美](https://xiaozhuanlan.com/Blankj)**」一起学习。