blog: 代码评审
This commit is contained in:
parent
ec82c1ab51
commit
990c1fea1d
|
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
title: 代码评审优化建议-210802
|
||||
date: 2021-07-31 14:05:11
|
||||
permalink: /review/210802/
|
||||
article: false
|
||||
sidebar: false
|
||||
---
|
||||
## 代码优化建议
|
||||
|
||||
|
||||
1. `80`/`86`等行, `validator` 自定义验证函数是没有意义的。(`133` 行除外)
|
||||
|
||||
> 只需定义type为`Function`即可,如传入值非函数,在控制台都会有报错提示。
|
||||
|
||||
|
||||
|
||||
2. `135` 行,string类型可改写成:
|
||||
|
||||
```js
|
||||
listType!: 'text' | 'picture'
|
||||
```
|
||||
|
||||
> 直观的表达可选值。
|
||||
|
||||
|
||||
|
||||
3. `196`和`197`行,获取文件名和文件后缀的方法可以使用数组解构来简写:
|
||||
|
||||
```js
|
||||
const [fileName='', ext=''] = '我最好看.jpg'.split('.');
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
4. `210`行,这一行代码似乎没起什么作用
|
||||
|
||||
|
||||
|
||||
5. `212`行,鉴于`209`行的match方法在匹配不到时会返回null, 因此`matchRes`的值有可能是`null`,直接把它当成数组去取值有可能会导致报错。
|
||||
|
||||
- `209`行是否可以使用同上面第3点的方法取值?
|
||||
|
||||
|
||||
|
||||
6. `319`/`371`行 等多处判断参数是否为函数类型是没必要的,因为props已经限制了参数必须是函数类型。
|
||||
|
||||
|
||||
|
||||
## 组件设计建议
|
||||
|
||||
1. 文件存入地址应由使用者传入。理由:
|
||||
|
||||
- 文件存入地址是有可能改变的。
|
||||
- 通用组件的设计原则应该是不局限在只有我们自己公司用。
|
||||
|
||||
<img src="https://img2.baidu.com/it/u=895714060,705914695&fm=26&fmt=auto&gp=0.jpg" style="zoom:50%;" />
|
||||
|
||||
2. `getStsToken` 获取token的api应由使用者传入。理由:
|
||||
|
||||
- 你已经是一个成熟的组件了,要学会适应不同的api
|
||||
|
||||
<img src="https://cdn.jsdelivr.net/gh/xugaoyi/image_store@master/blog/xh.4k9nyou0jfu0.png" alt="xh" style="zoom:50%;" />
|
||||
|
||||
|
||||
|
||||
## 疑问🤔
|
||||
|
||||
1. Element-ui 的 `listType` 是有三种类型的(text/picture/picture-card),这里为什么只有两种(text/picture)? 文档没有说明。
|
||||
|
||||
|
||||
|
||||
|
||||
## 其他
|
||||
|
||||
1. `139`行,添加了`maxSize`配置没有在文档里写明。
|
||||
|
||||
2. 看了代码逻辑,只要`isMultipart`为true,就会强制分片上传。所以:
|
||||
- `partSize` 配置说明应改为:**自动开启分片上传的临界点(单位M)。仅在`isMultipart`为false时生效。**
|
||||
- `isMultipart` 配置说明应改为:**是否强制分片上传**
|
||||
Loading…
Reference in New Issue