之前一直是獨立開發,沒有什么協作經驗。這次接了個項目,主要是做 Web 和微信小程序的后端開發,于是找了一位前端小姐姐合作。
合作了幾個月,最近前端情緒很糟糕,甚至有點“破防”。今天找我聊了很久,一頓輸出。我舉幾個例子:
判斷訂單歸屬問題
前端在要判斷某個訂單是不是“我的訂單”。
我主張:對比訂單的wechat_id
和全局保存著當前登錄用戶id
對比,相等則是自己的訂單。
但前端覺得這樣處理復雜,為什么后端不能直接返回一個字段,比如is_self
,讓她直接用這個字段判斷。
我覺得,反正前端也需要if is_self
,這和if order.wechat_id == my_id
區別很大嗎,而當前用戶的my_id
是全局信息也很容易獲取。(ps:這里內部后臺不需要擔心id泄漏問題)審核數據對比問題
有個場景是審核時需要顯示數據的變更情況。我接口返回了原始數據和修改后的數據。
我主張:前端需要自己對比兩者,不相等的就是發生了變化,然后展示出來。
但前端的訴求是,希望后端直接返回一個字段,比如has_changes
這種boolean字段表示有變化,同時再另外加個字段帶上具體的變更內容。也就是說,前端更傾向于后端把所有數量準備好,拿到直接渲染。
在講這些具體問題之前,前端還提到我沒有和人協作的經驗,之前自己開發習慣了“隨性”,這導致她在和我合作時非常不適應,覺得“和我對接是最惱火的一次經歷”。
她認為問題在于我不夠考慮她的開發習慣,而她自己和很多后端合作過,沒有遇到類似的問題。她的總結是:“是我的問題,她沒問題?!?/strong>
我的初衷很簡單,在不影響數據安全性和完整性的前提下,盡量把一部分計算任務轉移到前端去處理。
后端直接從數據庫處理數據直出,少量應用層邏輯計算,這樣能夠更高效地利用后端資源,尤其是內存。這種設計原則,我在獨立開發時也是這么做的。
前端對我的做法很不滿意,認為不符合她的開發習慣,而她的習慣是后端返回盡量直觀的數據,讓前端不需要再去判斷或計算。她覺得,我的處理方式很失敗,完全不如她之前合作的后端。
這讓我有些無所適從:
到底是我的問題,還是我們的協作方式需要調整?
后端是否真的應該盡量直出數據,讓前端不需要再計算?
我甚至不好意思提,后面還有個更復雜的功能:數據大屏需要連接 WebSocket,前端需要自己在瀏覽器維護一個訂單列表,根據服務器傳來的碎片數據進行更新、校驗 checksum,并自行判斷是否刷新、根據分類拆分和合并數據。
現在我非常困惑,可能是我確實不太懂協作,想聽聽一些建議或解決方法
分享來自:
nodeseek