Skip to content

Commit 1bb1075

Browse files
committed
优化描述的语言艺术
纠正后台返回金额的处理方式
1 parent 35ac8b1 commit 1bb1075

File tree

1 file changed

+21
-12
lines changed

1 file changed

+21
-12
lines changed

README.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
* 不用 `0dp`,而用 `0px`,这样可以避免系统进行换算,提升代码的执行效率
7070

71-
* 尽量采用 `switch case` 来判断,如果不能实现则再考虑用 `if else`因为我认为 `switch case` 更加简洁
71+
* 尽量采用 `switch case` 来判断,如果不能实现则再考虑用 `if else`因为在多条件判断下 `switch case` 更加简洁
7272

7373
* 不用 `paddingLeft`,而用 `paddingStart`;不用 `paddingRight`,而用 `paddingEnd`
7474

@@ -92,13 +92,13 @@
9292

9393
* 如果一个类不需要被继承,请直接用 `final` 进行修饰,如果一个字段在类初始化过程中已经赋值并且没有地方进行二次赋值,也应当用 `final` 修饰
9494

95-
* 每个小组成员应当安装[阿里巴巴代码约束插件](https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines),并及时地对插件所提示的`代码警告`进行处理
95+
* 每个小组成员应当安装[阿里巴巴代码约束插件](https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines),并及时地对插件所提示的`代码警告`进行处理或者抑制警告
9696

9797
#### 后台接口规范
9898

9999
* 后台返回的 `id` 值,不要使用 int 或者 long 类型来解析,而应该用 `string` 类型来解析,因为我们不需要对这个 id 值进行计算
100100

101-
* 后台返回的`金额`应该使用 `double` 来解析,而不能用 float 来解析,因为 float 在数值比较大的时候会容易丢失精度
101+
* 后台返回的`金额`应该使用 `String` 来接收,而不能用浮点数来接收,因为 `float` 或者 `double` 在数值比较大的时候会容易丢失精度,并且还需要自己手动转换出想要保留的小数位,最好的方式是后台返回什么前端就展示什么,而到了运算的时候,则应该用 `BigDecimal` 类来进行转换和计算,当然金额在前端一般展示居多,运算的情况还算是比较少的
102102

103103
* 我们在定义后台返回的 Bean 类时,不应当将一些我们没有使用到的字段添加到代码中,因为这样会消耗性能,因为 Gson 是通过`反射`将后台字段赋值到 Java 字段中,所以我们应当避免一些不必要的字段解析,另外臃余的字段也会给我们排查问题造成一定的阻碍
104104

@@ -392,10 +392,14 @@ public final class PasswordEditText extends EditText
392392
}
393393

394394
@Override
395-
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
395+
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
396+
......
397+
}
396398

397399
@Override
398-
public void afterTextChanged(Editable s) {}
400+
public void afterTextChanged(Editable s) {
401+
......
402+
}
399403
}
400404
```
401405

@@ -441,10 +445,14 @@ public final class PasswordEditText extends EditText
441445
}
442446

443447
@Override
444-
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
448+
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
449+
......
450+
}
445451

446452
@Override
447-
public void afterTextChanged(Editable s) {}
453+
public void afterTextChanged(Editable s) {
454+
......
455+
}
448456
}
449457
```
450458

@@ -454,9 +462,10 @@ public final class PasswordEditText extends EditText
454462

455463
```java
456464
try {
457-
xxxxx.xxx();
465+
Xxx.xxx();
458466
} catch (Exception e) {}
459467
```
468+
460469
* 如需捕获异常,请用以下方式进行捕获
461470

462471
```java
@@ -466,7 +475,7 @@ try {
466475
// 查看源码得知 Google 已经在 Android 8.0 已经修复了此问题
467476
// 主线程阻塞之后 Toast 也会被阻塞,Toast 因为超时导致 Window Token 失效
468477
mHandler.handleMessage(msg);
469-
} catch (WindowManager.BadTokenException | IllegalStateException ignored) {
478+
} catch (WindowManager.BadTokenException | IllegalStateException e) {
470479
// android.view.WindowManager$BadTokenException:Unable to add window -- token android.os.BinderProxy is not valid; is your activity running?
471480
// java.lang.IllegalStateException:View android.widget.TextView has already been added to the window manager.
472481
e.printStackTrace();
@@ -571,10 +580,10 @@ implementation 'com.hjq:xxpermissions:9.8'
571580

572581
```java
573582
/**
574-
* author : 黄锦群
583+
* author : Android 轮子哥
575584
* github : https://github.com/getActivity/XXPermissions
576585
* time : 2018/06/15
577-
* desc : 权限请求实体类,参考 {@link Manifest.permission}
586+
* desc : 权限请求实体类
578587
* doc : https://developer.android.google.cn/reference/android/Manifest.permission?hl=zh_cn
579588
* https://developer.android.google.cn/guide/topics/permissions/overview?hl=zh-cn#normal-dangerous
580589
*/
@@ -781,7 +790,7 @@ bottom_out_dialog.xml
781790
android:textSize="18sp" />
782791
```
783792

784-
* 不能根据设计图给定的宽高把 `TextView` 或者 `Button` 的宽高定死,而是通过 `wrap_content` 的方式和 `padding` 来调整 View 的宽高,因为在不同手机上面字体大小不一致,在字体显示比较小的手机上面会显示正常,但是在字体显示比较大的平板上面文字上半部分极有可能会出现被裁剪的情况,所以我们不能把宽高定死,而是通过 `padding` 来调整到控件的大小。不过需要注意的是,[TextView 有自带的文字间距](https://blog.csdn.net/ccpat/article/details/45226951),我们在拿设计图给定的 padding 值时,需要拿设计图给定的值适当减去这一部分值(大概是在 `2~3 dp`)。
793+
* 不能根据设计图给定的宽高把 `TextView` 或者 `Button` 的宽高定死,而是通过 `wrap_content` 的方式和 `padding` 来调整 View 的宽高,因为在不同手机上面字体大小不一致,在字体显示比较小的手机上面会显示正常,但是在字体显示比较大的平板上面文字上半部分极有可能会出现被裁剪的情况,所以我们不能把宽高定死,而是通过 `padding` 来调整到控件的大小。不过需要注意的是,[TextView 有自带的文字间距](https://blog.csdn.net/ccpat/article/details/45226951),我们在拿设计图给定的 `padding`值时,需要拿设计图给定的值适当减去这一部分值(一般大概是在 `2~3 dp`)。
785794

786795
```xml
787796
<!-- 错误写法示例 -->

0 commit comments

Comments
 (0)