<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          某一線前端小組長的 Code Review 分享

          共 1206字,需瀏覽 3分鐘

           ·

          2022-07-04 23:11

          ?? 前言

          大家平時(shí)網(wǎng)上搜索能搜出一堆Code Review 實(shí)踐、Code Review 流程、如何如何 Code Review 等等。好像實(shí)際的 review 記錄并不多,恰好本人有幸擔(dān)任前端小組長一職,平時(shí)摸魚就去偷偷看看大家又寫了什么優(yōu)秀代碼。所以今天就由小弟我,給大家分享一下,小廠一線前端平時(shí)寫的代碼??

          作者能力有限,里面的評論不一定十分正確,僅做記錄,拋磚引玉,以供學(xué)習(xí)參考~

          項(xiàng)目背景:

          • react 16.8+
          • antd@4

          ?? Talk is cheap. Show me the code!

          location.replace  location.href的使用區(qū)別


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

          解析:
          該組件本意是想實(shí)現(xiàn)對一串字符中的關(guān)鍵字進(jìn)行高亮展示;
          而正則表達(dá)式中有些字符具有特殊的含義,如果在匹配中要用到它本來的含義,需要進(jìn)行轉(zhuǎn)義(在其前面加一個(gè)\)。如:* . ? + $ ^ [ ] ( ) { } | \ /

          Table行點(diǎn)擊事件的處理

          這里示例代碼想實(shí)現(xiàn)點(diǎn)擊表格行跳轉(zhuǎn)頁面效果,但是會導(dǎo)致一些鼠標(biāo)操作被覆蓋

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

          避免使用反直覺的編碼

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

          沒有還原本地測試代碼

          解析:
          一些本地運(yùn)行時(shí)的mock代碼,發(fā)到線上時(shí)忘記還原代碼

          維護(hù)好項(xiàng)目內(nèi)的公共組件

          使用原生 js 獲取 dom 節(jié)點(diǎn),沒有使用一個(gè)變量來維護(hù) id 值

          方便后續(xù)維護(hù)

          思維固化

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

          邏輯不夠抽象

          簡單問題復(fù)雜化,這一堆 && 是不是看的頭大。。

          文件名與實(shí)際內(nèi)容不符

          命名不規(guī)范

          又是小駝峰又是全大寫、又是大寫下橫線。。

          state 的粒度太細(xì)

          避免一個(gè)組件里面有n多行的useState

          避免直接修改對象值,React 要求數(shù)據(jù)不可變

          官網(wǎng)解釋:zh-hans.reactjs.org/tutorial/tu…[1]

          不熟悉 Antd 組件的 api

          這里想修改Popover組件內(nèi)部的樣式,想當(dāng)然的就在外面套多一層div

          ant-design popover api: overlayClassName[2]

          Table 的滾動(dòng)高度沒有自適應(yīng)

          如果用戶的顯示器大小不一,列表可能展示不全或者只占了一小部分的面積
          修改為:scroll={{ y: 'calc(100vh - 表頭與頂部距離px)' }}

          ?? 寫在最后

          本篇文章整體內(nèi)容稍微零散,對于沒有基礎(chǔ)的同學(xué)可能不太友好,不過如果大家看完覺得有所收獲,可以留言點(diǎn)贊!后續(xù)我會繼續(xù)抽空記錄,爭取出一系列文章~

          源自:https://juejin.cn/post/7052570403029385253

          聲明:文章著作權(quán)歸作者所有,如有侵權(quán),請聯(lián)系小編刪除。

          感謝 · 轉(zhuǎn)發(fā)歡迎大家留言
          瀏覽 56
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美另类成人在线 | 肏屄网站在线观看 | 做爱完整视频网址大全免费 | 偷拍黄色小视频 | 国产欧美熟妇另类久久久 |