作者adrianshum (Alien)
看板OOAD
标题Re: [资料] 神之物件 (God object, Blob AntiPattern)
时间Mon Aug 6 23:57:53 2007
※ 引述《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