某電商專案的若干技術問題

小雷FansUnion發表於2016-04-19
   某電商專案,存在若干問題,隨便想了想,列舉了一些。

   首要問題:業務和功能規劃,總體技術架構(短期+長期)。移動端程式碼,可能處於 失控狀態。

1.業務分析和設計
  沒有,邊做邊想,產品思路不對,改產品,改介面。
  技術方案有問題,改技術。

2.技術架構

圖片:縮圖,很多地方的圖片,不應該展示原圖,比如前後端的列表頁面,應該使用某種格式的“縮圖”
庫存:商品-庫存,庫存可以單獨上架和下架
驗證碼:簡訊,郵箱,  業務-手機號
登入:PC、移動端

多終端:PC、移動端、多個移動端
分散式:登入、登出、多裝置

3.同一個問題,解決方案眾多
  圖片上傳,使用元件多種多樣。

4.小功能,大設計
  商品搜尋框,比如自動提示。看起來很簡單,背後有巨大的產品設計和技術設計。
  商品搜尋,店鋪搜尋

5.統一攔截
   登入、許可權、 非同步互動介面(登入過期、業務錯誤、系統錯誤、請求超時)

6.JS
  前端JS封裝,比如post請求,檢查是否過期、業務錯誤等
  後端JS封裝,JS庫混亂,多個jQuery,不同元件依賴的jQuery版本不同
7.移動端。登入
  保持登入?什麼時候需要跳轉到登入介面。什麼時候需要,自動登入重新整理。服務端保持多久?
 移動端保持登入1天,服務端Session也儲存1天嗎?

 移動端和Web前端:統一包裝post請求,從服務端拿到結果,根據返回碼code統一處理。
 500:提示
 超時:
  正常:回撥每個業務的函式,或者每個業務單獨處理資料,再渲染介面。
-------------------------------
1.物理刪除
   delete
   商品、庫存等,通過搜尋delete,可以看到很多
2.程式碼重複。迴圈內部呼叫-效能極差。
3.垃圾程式碼
   存在不少沒有使用的 歷史遺留程式碼,通過 依賴,可以找出
4.程式碼不清晰
    後端、前端、js,類名、函式名、方法名,不準確。業務邏輯,不清晰。
   比如 deleteAll1 deleteAll2等
5.字串,提成 常量, 1 2 3等數字, trousers 等字串。
6.引數檢查
   前端js驗證之後,後端 基本的“為空”和“整數”等驗證,再加上 業務驗證,比如 “訂單狀態檢查”

   PageHelper,分頁引數檢查
   繫結手機號,和之前的應該不一樣
7.日誌
   錯誤日誌基本沒有
8.鎖、同步、事務、效能、表索引
9.前後端 公用庫
   共用一個Service,一個Dao,一個Mybatis的Mapper。
   同1個程式碼,相容支援後端和前端,sql語句 越來越複雜
10.查詢
   多表聯合查詢比較多
11、前臺系統,雞肋功能多,使用者體驗極差
12、深層次的測試
  系統分析業務場景、根據原始碼分析。簡單的功能測試,太初級啦。
13、模組劃分,合理組織
  後端程式碼、html模版
14.redis分離
    登入、業務(重要程度不同,登入的會話資料,資料庫中沒有快取的)

相關文章