Re: [資料] 神之物件 (God object, Blob AntiPattern)
※ 引述《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
討論串 (同標題文章)
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章