Re: [資料] 神之物件 (God object, Blob AntiPattern)

看板OOAD作者 (Alien)時間17年前 (2007/08/06 23:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/19 (看更多)
※ 引述《godfat (godfat 真常)》之銘言: [43] : : 如果現在就順手弄好,雖然 coding 的時候會多打幾個字 : : 但是你知道你永遠不會回頭把這兩個東西拆開來 : : 那個利多? : 其實沒有拆開來,不見得真的是完全沒有拆開來。 : 像上面所提到的 sound, 在我的 c'tor 中可以是這樣: : function Sound(){ : // ... : this.play(); : } : 然後 play 其實是 private function, 因為 app 用不到。 : 如果真的很不幸需要用了,再把 play 改回 public, : 接著再視情況看要不要把 this.play 拆出 c'tor. 我只想說,要是在我的隊中有人敢寫這種 code 出來,包準被我罵個臭頭。 你說我迂腐也好,但我覺得很多東西造出來是有其 目的,沒有很強的原因而妄顧本身設計的目的,不 見得是好事 就像 ctor 本身設計出來是幹什麼用的? 還有不要忘了,有些 language 在 ctor 完成前 object 都不能當是完成 construction, 亂 invoke method 可不是什麼好事。比如 C++, 我記得有些 compiler 不保證 ctor 完成前, virtual function table 會建好,如果像你這樣寫,你覺得會怎樣? : : 很多人會嫌麻煩,乾脆重新寫一個新的... : : 造成一堆作相同事情的物件(ㄜ... 最後這個好像離題了) : 說到這個,最近寫網站碰到一個讓我覺得很困擾的事﹍。 : 就是會有很多好像很像,其實又不太像,而且重複性又有點多又不太多的情況。 : 例如有兩份很像,但是又不太像的表格要填。 : 這種時候,如果把相同之處拉出來,很可能會做得很辛苦, : 因為有些時候,有些東西就是很難抽出來。一旦終於成功抽出來, : 改相同的地方很快樂時,又忽然發現其實之前以為他們是相同, : 但實際上還是有一點點不一樣,結果又得把剛才抽好的再 copy 回去, : 然後略做修正。剛剛是白抽的嗎﹍﹍ : 所以現在我決定除非超過兩次以上的重複,否則不輕易抽出來﹍﹍。 : 只有兩次而已,copy & paste & edit 反而比較不容易出錯又快速。 : 至於第三次如果又出現了怎麼辦?就再來評估要繼續 copy 還是真的要抽了。 : == : 還是覺得寫網站不太好玩 :( 瑣碎的事太多了 我沒有寫網的經驗 XDD 但一般 development 的話,你在說的情況其實蠻常見的, 這也是需要 refactoring 的原因了 :) Alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.72.0.45
文章代碼(AID): #16jqK2IZ (OOAD)
討論串 (同標題文章)
文章代碼(AID): #16jqK2IZ (OOAD)