[問題] 程式碼重複使用的問題?

看板java作者 (henry)時間12年前 (2013/08/29 11:30), 編輯推噓3(304)
留言7則, 7人參與, 最新討論串1/2 (看更多)
請問一下各位,最近在思考一個問題 在我的程式中有幾個地方都會使用到一段 "大部分重複的程式碼" 請問一下各位會怎麼寫比較好 例如: void fun_a(){ void fun_b(){ ----------- ---------- ----------- ---------- ----------- ---------- fun_a自己做的事情 fun_b自己做的事情 ----------- ---------- } } ------ 代表相同的程式碼 只是中間有一小部分不同而已 請問大家是會直接寫像上面那樣 還是另外寫一個function然後判斷是從哪邊來的比較好呢? void fun_command(Type type){ ----------- ----------- ----------- if(type == a) fun_a自己要做的事情 else if (type == b) fun_b自己要做的事情 ----------- } 第一種不是一個好的方法,但是下面這種當判斷條件多的時候也會變得很複雜 不知道各位有沒有其他更好的寫法,感謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.11.17.212

08/29 12:03, , 1F
你可以把 相同程式碼的地方 寫成一個 function
08/29 12:03, 1F

08/29 12:53, , 2F
這不正是template method該出場的地方嗎?
08/29 12:53, 2F

08/29 13:11, , 3F
lambda
08/29 13:11, 3F

08/29 14:21, , 4F
又要推 Scala 了嗎= =
08/29 14:21, 4F

08/30 20:24, , 5F
把重複的地方拉成一個function + 1
08/30 20:24, 5F

08/31 12:42, , 6F
extract method
08/31 12:42, 6F

09/01 23:23, , 7F
把重複的地方變成一個method好像沒辦法解決原PO的問題吧
09/01 23:23, 7F
文章代碼(AID): #1I7i0waM (java)
文章代碼(AID): #1I7i0waM (java)