作者TonyQ (得理饒人)
看板Soft_Job
標題Re: [討論] 重構之前要寫測試 不然不要重構
時間Mon Jul 6 20:57:13 2020
※ 引述《Ghamu (貓丸)》之銘言:
: 想想這應該算是一種迷思吧
: 理論上是這樣沒錯
: 但事實上之前都沒寫測試了
: 你怎麼證明他之前是對的呢?
: 所以我大多都直接給他改下去
: 反正重構後東西也比較清楚
: 即使有錯 也比起蝦雞巴狗爛毛程式碼好除錯
: 之前前輩都說會動的程式碼不要去碰
: 然後就一球在那邊
: 我說要改 他就說
: [啊你有寫測試嗎?]
: 開發時程又不允許
: 就一球在那邊越來越痛苦
: 會動的爛程式碼越來越多
: 不知道大家怎麼看
: -----
: Sent from JPTT on my Sony F5321.
人生在世,吃飯跟拉屎都是要做的,應該沒有人會說,
要先吃飯不然別拉屎,還是先拉屎不然別吃飯。
改扣就是改扣,框個名字自稱叫重構,
是不是不知道,但即使是重構,本質還是改扣。
測試是為了改扣順利,不寫測試還是可以改扣。
正如同拉屎跟吃飯有介於有跟沒有之間的相依性,
簡單的道理,裝模做樣之後就好像不簡單了。
-----
Sent from JPTT on my Google Pixel 3 XL.
--
網頁上拉近距離的幫手 實現 GMail豐富應用的功臣
數也數不清的友善使用者體驗 這就是javascript
歡迎同好到 AJAX 板一同討論。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.91.204 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1594040237.A.BBF.html
1F:→ pttworld: 這樣也可以一篇 07/06 21:33
2F:→ leo5916267: 我覺得重構應該是開發時進行的,大大你怎麼想? 07/06 22:19
多數人做的重構與其說是重構,還不如說是重寫,包裝成重構不過是種自我安慰。
3F:→ invidia: 原來是改code 一直聽人講重構都聽不懂是啥 07/06 22:44
4F:→ Ghamu: 重構就不影響功能的改動啊 07/06 22:56
5F:→ EricTCartman: 寫扣就是寫扣,框個名字自稱叫測試 07/06 23:12
6F:→ EricTCartman: 是不是不知道,但即使是測試,本質還是寫扣 07/06 23:12
7F:→ EricTCartman: 簡單的道理,裝模做樣之後就好像不簡單了 07/06 23:13
沒錯,孺子可教也
8F:→ ChiangKeith: 改扣分很多種,重構是其中一種,保有原有功能前提下 07/06 23:23
9F:→ ChiangKeith: 改寫或重寫程式碼追求更好的程式碼品值 07/06 23:23
與其說追求更好的程式碼品質,倒不如說與自己熟悉的 convention 更接近的寫法。
10F:→ labbat: 以前中學都會要求一道數學題目用多種解法 07/07 01:43
11F:→ labbat: 再從不同解法比較命題的用意 07/07 01:44
12F:→ labbat: 曾何幾時 改程式碼做一樣的事情這麼不堪了 07/07 01:45
※ 編輯: TonyQ (61.231.31.193 臺灣), 07/07/2020 08:09:34
※ 編輯: TonyQ (61.231.31.193 臺灣), 07/07/2020 08:09:51
※ 編輯: TonyQ (61.231.31.193 臺灣), 07/07/2020 08:10:46
13F:推 APTON: 重點是保有原來行為啊... 07/07 10:28
14F:→ APTON: 利用封裝 解構等技巧,補上測試固定程式碼的行為後,再開始 07/07 10:28
15F:→ APTON: 重構。 07/07 10:28
16F:→ APTON: 一般的寫扣幾乎就是憑著莫名的信心重寫,然後說這是重構XX 07/07 10:28
各種 code change (包括重構與其他) 最後真的沒改到行為的,
就我工作經驗裡面, 不到 5% .
refactoring 通常是中間的一個過渡程序, 不是真正的目標.
但我們在談論這件事情卻老是把他當一個目的來講,
我覺得是莫名其妙的事情.
※ 編輯: TonyQ (210.61.209.201 臺灣), 07/07/2020 10:50:46
17F:推 lovez04wj06: 不是前人的坑或者爆炸性需求要重寫,對老闆說要重寫 07/07 10:49
18F:→ lovez04wj06: 一定被打槍只好包裝起來叫重構嗎... 07/07 10:49
19F:→ TonyQ: 樓上這種需求的話, 我常用的說法叫做局部重寫, 這個說詞比 07/07 10:51
20F:→ TonyQ: 重構好用. 反正局部多大部是你說了算. 07/07 10:51
21F:→ TonyQ: 我自己看過比較多的用法, 其實是在幫需求抓多一點 buffer. 07/07 10:52
22F:→ shooter555: 重構跟改扣還是有差別吧 就如同吃飯跟吃糙米飯 或者拉 07/07 13:15
23F:→ shooter555: 屎跟拉稀之間的區別一樣吧 07/07 13:15
A 屬於 B ,要談 A 跟 B 的差別是要談什麼。子集跟父集只有元素的差別,沒有交集的差別啊。
※ 編輯: TonyQ (61.231.78.150 臺灣), 07/08/2020 05:26:35