先後端上線必檢清單
前端上線必檢清單
- 回退、跳轉是否正確 iOS android 瀏覽器
- 節流防抖是否處理
- 微信分享標題敏感字 紅包 錢等
- 是否適配 320~750 320 480 640 iphonex
- 是否處理類型轉換、非空判斷
- 轉換頁面加載 loading 處理
- 無數據、異常、空白頁展現處理
- 移動端擴大點擊區域
- 合理的鼠標光標
- 是否有作分頁
- 文字超出處理
- 圖片相關
- 圖片是否有作無損壓縮
- 最多使用 2x(兩倍CSS像素分辨率)的圖片
- 圖片寬高都不超過實際顯示寬高的3倍
- 移動端單張圖片大小不超過 50Kb
- 大的圖片統一上 OOS 對象存儲,加 CDN 緩存加速
- 網絡相關
- 首屏時間不超過 3~5 秒
- 併發 4 個之內(Android 4,iOS 6)
- 每秒發起的圖片請求數不超過 20 個
- 後端請求必須在 1s 內返回
- 域名解析數不能超過5個(主域名、API 域名、靜態資源 CDN 域名、埋點分析域名)
- 數據在JSON.stringify後不超過 256KB
- 頁面WXML節點少於 1000 個,節點樹深度少於 30 層,子節點數不大於 60 個
- 全部圖片均開啓緩存,大圖用對象存儲加 CDN 緩存
- 權衡
- 權衡內置代碼帶來的 HTTP 請求減小與經過使用外部文件進行緩存帶來的好處的折中點
- 權衡減小 DNS 查找次數和保持較高程度並行下載二者之間的關係
- 權衡合併 img、CSS、JS 和合並後的文件體積過大問題
- 不出現任何JS異常,全部網絡請求都正常返回
後端上線必檢清單
代碼相關
- 格式是否規範,代碼是否有冗餘,註釋是否完善
- 文件、變量命名是否規範統一
- 是否有處理好計時器
- 是否加錯誤處理機制 try catch
- 大表查詢是否有作優化,是否處理好緩存
- 異常是否處理,返回給前端統一格式數據
- 前端參數傳任意字符,後端接口不容許報錯中斷
git 相關
- 分支建立是否分層,主幹 master,開發分支 dev,我的功能分支 name_dev
- 上線後分支是否清理乾淨,上線後刪除清理 name_dev 遠端和本地分支
- 代碼是否處於私密狀態,成員是否加權限限制
- commit 提交信息是否準確、規範
- feat: 新增feature
- fix: 修復bug
- perf: 優化相關,好比提高性能、體驗
- refactor: 代碼重構,沒有加新功能或者修復bug
- docs: 僅僅修改了文檔,好比README, CHANGELOG, CONTRIBUTE等等
- style: 僅僅修改了空格、格式縮進、都好等等,不改變代碼邏輯
- test: 測試用例,包括單元測試、集成測試等
- chore: 改變構建流程、或者增長依賴庫、工具等
- revert: 回滾到上一個版本
系統相關
- 服務器資源分配是否合理(內存、核數、儲存大小)
- 生產環境高配:16核 32g 200g
- 生產環境常規:8核 16g 150g
- 數據庫機器:8核 16g 500g
- redis 機器:8核 64g 150g
- 測試環境機器:2核 4g 50g
- 內存、cpu、硬盤存儲是否有異常或者處於緊張狀態(空閒率不足 30%)
- node npm mongoodb 等版本是否太低,是否和開發環境保持一致,node v12.17.0 npm 6.14.4
- nginx 配置是否合理,版本是否太低,nginx 1.16.0+
安全相關
- 對於前端輸入是否有作校驗和過濾,不能信任任何前端輸入,後端必須再次校驗和過濾
- 接口是否有防刷機制,驗證碼、token 憑證、ip 鎖定、黑白名單
- 對於不須要憑證的公開接口是否有作安全防禦,是否驗證該接口真的不須要憑證可被放開,是的話有沒有加防刷機制
- 祕鑰、驗證信息、私密信息是否保存在後端環境,不容許直接存在前端
歡迎關注本站公眾號,獲取更多信息