某一線前端小組長的 Code Review 分享
原文地址: https://juejin.cn/post/7052570403029385253
作者L:悄悄哥
?? 前言
大家平時網(wǎng)上搜索能搜出一堆Code Review 實踐、Code Review 流程、如何如何 Code Review 等等。好像實際的 review 記錄并不多,恰好本人有幸擔(dān)任前端小組長一職,平時摸魚就去偷偷看看大家又寫了什么優(yōu)秀代碼。所以今天就由小弟我,給大家分享一下,小廠一線前端平時寫的代碼??
作者能力有限,里面的評論不一定十分正確,僅做記錄,拋磚引玉,以供學(xué)習(xí)參考~
項目背景:
react 16.8+
antd@4
?? Talk is cheap. Show me the code!
location.replace 和 location.href的使用區(qū)別

正則判斷沒有對用戶可能輸入的特殊符號進行轉(zhuǎn)義

解析:
該組件本意是想實現(xiàn)對一串字符中的關(guān)鍵字進行高亮展示;
而正則表達式中有些字符具有特殊的含義,如果在匹配中要用到它本來的含義,需要進行轉(zhuǎn)義(在其前面加一個\)。如:* . ? + $ ^ [ ] ( ) { } | \ /
Table行點擊事件的處理
這里示例代碼想實現(xiàn)點擊表格行跳轉(zhuǎn)頁面效果,但是會導(dǎo)致一些鼠標操作被覆蓋

在一個較大的組件內(nèi),需要注意輸入組件導(dǎo)致的重渲染問題

避免使用反直覺的編碼

做好路由字符串拼接的缺省處理

沒有還原本地測試代碼

解析:
一些本地運行時的mock代碼,發(fā)到線上時忘記還原代碼
維護好項目內(nèi)的公共組件

使用原生 js 獲取 dom 節(jié)點,沒有使用一個變量來維護 id 值

方便后續(xù)維護
思維固化

這位同學(xué)可能忘記format函數(shù)的入?yún)⑹强梢愿牡牧??
邏輯不夠抽象

簡單問題復(fù)雜化,這一堆
&&是不是看的頭大。。
文件名與實際內(nèi)容不符

命名不規(guī)范

又是小駝峰又是全大寫、又是大寫下橫線。。
state 的粒度太細

避免一個組件里面有n多行的
useState
避免直接修改對象值,React 要求數(shù)據(jù)不可變

官網(wǎng)解釋:zh-hans.reactjs.org/tutorial/tu…
不熟悉 Antd 組件的 api
這里想修改Popover組件內(nèi)部的樣式,想當然的就在外面套多一層section了

ant-design popover api: overlayClassName
Table 的滾動高度沒有自適應(yīng)

如果用戶的顯示器大小不一,列表可能展示不全或者只占了一小部分的面積
修改為:scroll={{ y: 'calc(100vh - 表頭與頂部距離px)' }}
?? 寫在最后
本篇文章整體內(nèi)容稍微零散,對于沒有基礎(chǔ)的同學(xué)可能不太友好,不過如果大家看完覺得有所收獲,可以留言點贊!后續(xù)我會繼續(xù)抽空記錄,爭取出一系列文章~
點贊和在看就是最大的支持
