十八層地獄
一般的後端API設計
如果不走DDD的設計模式
通常會使用三層式架構
一層Controller,決定router
一層Service處理商業邏輯
一層Repository層處理資料庫
或是去打其他系統的API
前一陣子看一個舊專案Bug
從error log看不出錯誤原因
只好local下中斷點來debug
本來以為是分分秒秒的事情
沒想到弄了半天還是搞不定
從最外層的controller一路進去
A Service呼叫B Service
B Service呼叫C Service
以此類推
沒有十八層也有十層邏輯
每一層各自try catch
甚至還有建構式裡面去打API的
真的是人間煉獄
這個不用看過clean code
也看得出來臭不可聞
雖然說「會賺錢的程式碼,就是好程式碼」
但是這種「深度」邏輯
我還是敬謝不敏
因為只看個一兩次
沒把握的Code我也不敢重構
只能再看一下其他專案
洗滌一下身心靈
然後祈禱大家寫Code時
不要向下挖得那麼深
真的很像十八層地獄
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Frank's Talk!