Code Review

141 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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… 来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。