回覆內容:
可靠的程式碼和DRY (圖片是GacUI) - vczh的日常 - 知乎專欄
走上歪門邪道了,趕緊回頭。
這樣的程式碼複雜,難寫難讀難維護,更不要提復用了。
我覺得問題的關鍵是, 對於錯誤處理(error handling),需要詳盡到什麼地步。
根據我的經驗, 並不需要每個呼叫的函數都檢查一遍,尤其是沒有對錯誤處理做最佳化語法的語言。
所以我覺得只要在你認為很大可能會發生錯誤或錯誤發生了一定要處理的函數裡做錯誤處理即可。
至於復用,Don't repeat yourself是關鍵,至於有疑惑的話,就反覆思考如何抽象程式碼到適合的程度就可以了。
我認為沒有必要犧牲可讀性而高度抽象程式碼共同點來重複使用。
在需求或要解決的問題沒有真正被考慮或研究清楚之前,想要讓程式碼變的高度重複使用,且易讀,是比較難的。那麼先把大問題分解成N個子問題。然後,針對子問題 做TTD,然後不斷優化。
一步到位的程式碼復用,不太現實。
又有種看C代碼的感覺了。 。為什麼不用高科技的try catch throw而偏要自己寫異常處理呢。 。 。
不提邏輯,單純看結構,你有考慮過並發嗎?
不請自來,請參考
http://zh-google-styleguide.readthedocs.io/en/latest/Google 逼
題主想做的東西其實就是Promise。成功呼叫resolve,失敗reject,異常的話還支援向外冒泡。外部只需要then,catch鍊式調用,看起來就很優雅了。
每個類別都要這麼寫?這和程式碼重複使用有什麼關係?