j0n 積分 0

這對我來說一直很兩難,原本單純易懂的 if-else 抽成複雜很難 trace 的 class/interface,究竟是真的有幫助還是炫技?

這是文章的子討論串,你可以回到上層查看所有討論和文章
chchwy 積分 3 編輯於

抽象都要有明確目的,而不是盲目看到重複就抽象

對我來講,成功的抽象需要符合下面兩點之一

  1. 抽完 code 要變得容易理解
  2. 改動、增加新功能變得容易

簡單講,要反過來思考:已經確定抽象「真的有幫助」,才去進行抽象。

如果沒幫助,那就擺著很長的 if-else 沒差。

IngramChen 積分 2

所以要寫 test

如果比較好測,那通常是比較好的設計。你通常也只會重構到測試不會太難寫這樣,不會太過頭。(class 太多就測試更多,想到這你就會懶得抽這麼多層了)

測試可以引導設計,再加上一些經驗的累積大概不會錯太多。

當然如果寫的是 library ,會放出來給別人用,那又是另一種規則。