先後端上線必檢清單

前端上線必檢清單

  1. 回退、跳轉是否正確 iOS android 瀏覽器
  2. 節流防抖是否處理
  3. 微信分享標題敏感字 紅包 錢等
  4. 是否適配 320~750 320 480 640 iphonex
  5. 是否處理類型轉換、非空判斷
  6. 轉換頁面加載 loading 處理
  7. 無數據、異常、空白頁展現處理
  8. 移動端擴大點擊區域
  9. 合理的鼠標光標
  10. 是否有作分頁
  11. 文字超出處理
  12. 圖片相關
  • 圖片是否有作無損壓縮
  • 最多使用 2x(兩倍CSS像素分辨率)的圖片
  • 圖片寬高都不超過實際顯示寬高的3倍
  • 移動端單張圖片大小不超過 50Kb
  • 大的圖片統一上 OOS 對象存儲,加 CDN 緩存加速
  1. 網絡相關
  • 首屏時間不超過 3~5 秒
  • 併發 4 個之內(Android 4,iOS 6)
  • 每秒發起的圖片請求數不超過 20 個
  • 後端請求必須在 1s 內返回
  • 域名解析數不能超過5個(主域名、API 域名、靜態資源 CDN 域名、埋點分析域名)
  • 數據在JSON.stringify後不超過 256KB
  • 頁面WXML節點少於 1000 個,節點樹深度少於 30 層,子節點數不大於 60 個
  • 全部圖片均開啓緩存,大圖用對象存儲加 CDN 緩存
  1. 權衡
  • 權衡內置代碼帶來的 HTTP 請求減小與經過使用外部文件進行緩存帶來的好處的折中點
  • 權衡減小 DNS 查找次數和保持較高程度並行下載二者之間的關係
  • 權衡合併 img、CSS、JS 和合並後的文件體積過大問題
  1. 不出現任何JS異常,全部網絡請求都正常返回

後端上線必檢清單

代碼相關

  1. 格式是否規範,代碼是否有冗餘,註釋是否完善
  2. 文件、變量命名是否規範統一
  3. 是否有處理好計時器
  4. 是否加錯誤處理機制 try catch
  5. 大表查詢是否有作優化,是否處理好緩存
  6. 異常是否處理,返回給前端統一格式數據
  7. 前端參數傳任意字符,後端接口不容許報錯中斷

git 相關

  1. 分支建立是否分層,主幹 master,開發分支 dev,我的功能分支 name_dev
  2. 上線後分支是否清理乾淨,上線後刪除清理 name_dev 遠端和本地分支
  3. 代碼是否處於私密狀態,成員是否加權限限制
  4. commit 提交信息是否準確、規範
  • feat: 新增feature
  • fix: 修復bug
  • perf: 優化相關,好比提高性能、體驗
  • refactor: 代碼重構,沒有加新功能或者修復bug
  • docs: 僅僅修改了文檔,好比README, CHANGELOG, CONTRIBUTE等等
  • style: 僅僅修改了空格、格式縮進、都好等等,不改變代碼邏輯
  • test: 測試用例,包括單元測試、集成測試等
  • chore: 改變構建流程、或者增長依賴庫、工具等
  • revert: 回滾到上一個版本

系統相關

  1. 服務器資源分配是否合理(內存、核數、儲存大小)
  • 生產環境高配:16核 32g 200g
  • 生產環境常規:8核 16g 150g
  • 數據庫機器:8核 16g 500g
  • redis 機器:8核 64g 150g
  • 測試環境機器:2核 4g 50g
  1. 內存、cpu、硬盤存儲是否有異常或者處於緊張狀態(空閒率不足 30%)
  2. node npm mongoodb 等版本是否太低,是否和開發環境保持一致,node v12.17.0 npm 6.14.4
  3. nginx 配置是否合理,版本是否太低,nginx 1.16.0+

安全相關

  1. 對於前端輸入是否有作校驗和過濾,不能信任任何前端輸入,後端必須再次校驗和過濾
  2. 接口是否有防刷機制,驗證碼、token 憑證、ip 鎖定、黑白名單
  3. 對於不須要憑證的公開接口是否有作安全防禦,是否驗證該接口真的不須要憑證可被放開,是的話有沒有加防刷機制
  4. 祕鑰、驗證信息、私密信息是否保存在後端環境,不容許直接存在前端
相關文章
相關標籤/搜索