Re: [心得] 花了很多時間重構卻被打槍用舊code
※ 引述《kingofsdtw》之銘言
: 最近案子快收尾在收斂bug
: 身為救援大隊長的老人我被指派到維護一個很老的API
: 老API的設計已經無法滿足擴充需求
: 新的擴充功能造成BUG
: 於是我花了大量時間甚至debug到天亮甚至請無薪假
: 新的API經過我反覆測試各種case都完美無缺
: 但是code review卻被質疑:
: 1. 是不是沒找到root cause
: 2. 幹嘛改動如此大? 只不過新加一點點功能幹嘛改架構?
這兩個看起來都是很正常的問題啊
還是說只知道有 BUG
找不到原因 乾脆重寫
這樣哪叫重構?
--
※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.74.238.131 (臺灣)
※ PTT 網址
推
這樣算是 my構
推
不要太認真,第一篇那個內容看起來像是外行的在洗文章數
→
my構www
→
It’s mygo!!!!!
推
這個板的重構仔就這樣了
推
從來沒感覺到寫扣開心
34
首Po最近案子快收尾在收斂bug 身為救援大隊長的老人我被指派到維護一個很老的API 老API的設計已經無法滿足擴充需求 新的擴充功能造成BUG 於是我花了大量時間甚至debug到天亮甚至請無薪假![[心得] 花了很多時間重構卻被打槍用舊code [心得] 花了很多時間重構卻被打槍用舊code](https://img.youtube.com/vi/HvLXaAle5jw/mqdefault.jpg)
13
分享我遇過的鬼故事 某公司裡面有A team跟B team B team負責維護的是一個堪稱屎山等級的legacy code A team覺得B team維護的程式碼真他媽臭 隔了一個module都能聞到臭味 花費了半年多 去寫了一個跟功能99%像的程式碼 然後也有unit tests13
我的建議是: 1. 要幹嘛要先講 2. 要耗用的資源多少要先講 3. 要達成的目標是啥要先講 還技術債也要看怎麼還,該決定的人去決定,10
問題是, 第一,責任: 你的責任是對整個系統負責嗎? 還是只負責修好BUG ? 從文中,我看到的是後者。哪麼,你去【重構】做什麼?25
看到這篇原原PO在其他篇底下聲稱 「可讀性+100%」 忍不住來回一篇 軟體開發裡面有一件很重要的事情是知識轉移 又稱 knowledge transfer 印度仔會簡稱 KT1
喔 老屁股來說話了 話說把程式重構不是壞事 壞事是....重構的有對嗎? 有對應的回歸測試驗證你重構對嗎? 另外這些時間和風險,上面有人願意扛嗎?5
我隨便舉個最簡單的例子 二段式左轉跟圓環 為什麼大家都在罵, 但是要改掉也一堆人在罵? 因為大家都習慣了,雖然很智障,10
正確性,你是重構別人的code,意思是說,你有測完 【所有】的input 在【所有】的狀態下,的【所有】的output?? 當然要包括Exception。 至於可讀性+100%這種心理自high 的,真的無法講什麼,正如有人回應, 你寫的Code 放手一週後回頭看,相信你又要【重構】了。11
既然有人發文了,那我也來閒聊閒聊 程式碼阿,就不斷地推陳出新 新架構淘汰舊架構,舊架構不重構也遲早因為各種理由被砍掉 前公司很有遠瞻性 他們終於發現.Netframework 4.0 這東西不行了(大約20年)
24
重構的幾個迷思覺得最近很多文章都有些不求甚解的問題,來寫點論述。 1. 重構不是什麼了不起的事情 2. 變更程式碼,重寫舊的程式碼成自己爽的樣子,不一定是重構。 3. 重構是一種相對安全的工具型開發方法論, 但仍然有不少風險跟誘惑。21
[討論] hard code 速度會快嗎?如題 hard code的速度會比較快嗎? 根據我經驗 hard code可以在極短時間內處理一些專案上的問題 但是專案上有高度相似的東西 藉由hard code去寫並不會比較快 反倒是多花一點時間重構 重構完畢之後 再來只要套function 修改參數 這速度會比hard code快很多15
Re: [請益] 這種情況要怎麼重構我這篇寫的跟原原PO的狀況無關 ※ 引述《tbpfs ( )》之銘言: : 其實我真的不懂為什麼要急著重構 : 有好處嗎? : 一般而言,重構都是發生在農閒的時候7
Re: [心得] 花了很多時間重構卻被打槍用舊code我來響應一下,要怎麼說服工程團隊領導重構 拿安全性壓他,資安這東西,大家都懂,但大家也都不專業 舊架構要嘛運行的環境有已知漏洞、要嘛依賴套件有已知漏洞 去 CVEdetails.com 查一下,整理一下已知漏洞高危清單 用魔法對付魔法,「不改的話有問題你要負責嗎?」7
Re: [心得] 花了很多時間重構卻被打槍用舊code有個滿有趣的案例 OpenSSH 2006年有個CVE-2006-5051 是因為SIGALRM不當 導致heap管理的執行續被中斷 後來被修正 但在2021的時候又被錯改回來 叫CVE-2024-6387 OpenSSH 8.5p1 的release notes說明中為:
![[請益] 中年求職困境 [請益] 中年求職困境](https://i.ibb.co/230tZgNr/sssss.jpg)