持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,[点击查看活动详情](juejin.cn/post/709970… "juejin.cn/post/709970…
☀️ 前言
大家平时网上搜索能搜出一堆Code Review 实践、Code Review 流程、如何如何 Code Review 等等。好像实际的 review 记录并不多,恰好本人有幸担任前端小组长一职,平时摸鱼就去偷偷看看大家又写了什么优秀代码。所以今天就由小弟我,给大家分享一下,小厂一线前端平时写的代码😸
作者能力有限,里面的评论不一定十分正确,仅做记录,抛砖引玉,以供学习参考~
这不,公司最近来了几位实习生🤩,终于又有素材了hhh,就挑选整理了一些典型问题供大家学习参考~看看自己有没有也犯同样的错误
💻 Talk is cheap. Show me the code!
项目背景:
- react 16.8+
- antd@4
抽取的公共方法不够通用
这个方法主要功能是想格式化时间戳,但是有一些问题。只支持输出固定的格式(yyyy/mm/dd),另外也没有对输入的 time 参数进行合法性校验;
修改后如下:
export function transformTime(unixTimeStamp?: number, formatter = 'YYYY/MM/DD HH:mm:ss') {
if (!unixTimeStamp) return '-';
const timeStamp = unixTimeStamp * 1000;
return moment(timeStamp).format(formatter);
}
串联请求大量接口
这里的接口请求实际并没有互相依赖关系,由于使用了 await 将导致接口一个个串联发出,导致页面等待时间过长。
子组件抛出太多 props
大家看到这样一堆 props 的组件是不是很头疼,所以尽量规划好数据的管理,高内聚低耦合,子组件能内部消化的状态就内部消化;
声明了className 又用了内联 style
switch 的 return 和 break 混用
有 return 就不用 break 了,另外文件也没有格式化。公司项目本身是有强制要求 prettierrc 规则的,不知道什么原因居然手动关了;
无脑复制视觉图里的参考代码
作者:悄悄哥
链接:juejin.cn/post/710725…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。