前端業務開發
阿新 • • 發佈:2020-12-17
前端業務開發的通用經驗(二)
介面複用導致的問題
有三個層面的複用,會面臨不同的問題,分別是:跨專案複用、跨頁面複用、跨端複用。
1. 跨專案複用
通常是因為新開專案需要緊急上線,為了求快,直接在新專案裡複用老介面,說是後面要拆,但大概率沒時間拆,後續新專案的需求迭代會前赴後繼的加入老接口裡。等到因維護、交接、組織變動、專案拆分等原因導致介面必須獨立和遷移的時候,必將付出成倍的成本。
複用的基本前提是【同步】,只要不同步,複用就一定會變成多套邏輯的雜糅。既然已經劃分專案了,那麼業務邏輯大概率是不同步的,如果同步,應該考慮抽成公共服務。偏離了正確的設計,早先欠的債/偷的懶最終一定會加倍償還。
2. 跨頁面複用
通常是某些公共配置,比如每個頁面都需要的前置資訊,因為存在重疊,就全部融合到一個公共介面。這將導致某一個頁面如果要單獨增加配置資訊,就不得不繼續加到公共接口裡,越到後面,公共介面的邏輯越膨脹,效能越差,所有頁面都受影響。而且公共邏輯的維護成本和變動風險也越來越大,一是歷史邏輯越堆越多,就算看不懂也不敢改;二是一旦出錯,就是所有頁面全掛。
介面設計上,複用的層級應該降到微服務層,然後單獨為每個頁面提供各自的介面。
3. 跨端複用
介面一旦有 native 端使用,就應該視為“被封印”的介面,因為通常後續開發只能加欄位,不能刪欄位,也不能改欄位(除非介面作版本控制)。一定程度上這給前端帶來了某種好處,因為很多時候前端可以憑此特性,強勢要求把邏輯挪到後端:“因為咱 native 有版本問題,不能改