Re: [閒聊] 大家工作上看過哪些誇張的 CODE ?
※ 引述《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
推
05/16 14:49, , 1F
05/16 14:49, 1F
討論串 (同標題文章)
完整討論串 (本文為第 18 之 31 篇):