作者TonyQ (沉默是金。)
看板Soft_Job
标题Re: [闲聊] 大家工作上看过哪些夸张的 CODE ?
时间Sun May 16 12:08:21 2010
※ 引述《twnin (掩饰)》之铭言:
: ※ 引述《godisempty ()》之铭言:
: : 我部门以前的师兄师姐怎麽写网页table loop的
: 遇过类似的, 我简单描述他干了什麽好事
: If A=1 Then
: F1()
: ElseIf A=2
: F2()
: Else A=3
: F3()
: EndIf
: Sub F1()
: Write("1")
: End Sub
: Sub F2()
: Write("2")
: End Sub
: Sub F3()
: Write("3")
: End Sub
: 有必要写三个函式吗?
: 另外比较常见的,就是假物件导向
: 整天嘴巴说写程式要OO
: 程式里面也搞了一堆Class
: 但你一看就能明白他只是自己写爽的
: 原本旧有的版本,运作良好,程式结构极具弹性,易读
: 被他拿去"重构"之後,我看不懂他想要改善些什麽?
: 好比密码学,并不是越复杂就会越安全
其实一个物件导向,各式论述;
重构本身是一个推进拉出的过程,
不过以原本的例子来讲他倒是还有很多改善的空间,
比方说把母函式定义为
Sub writeA(byval A)
If A=1 Then
write("1")
ElseIf A=2
write("2")
Else A=3
write("3")
EndIf
end Sub
要不要再拆子函式其实不一定那麽重要,
如果已经有定义好writeA的input/output,
就算要把writeA的内容当作黑箱也无妨。(这就是OO的封装啊)
反正写来写去,总是有些物件/对象要承担dirty code的,
只是尽量让承担dirty code的部份不在第一层的主结构上而已
如果没把握这个原则只是一昧的抽象化,
只是为了把同样的 dirty code平均分散在每个类别,
那的确是一点用也没有...
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 语 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼
*◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂
~telnet://tony1223.twbbs.org
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.137.14.63
1F:推 Ting1024:正解 05/16 14:49