Re: [心得] 花了很多時間重構卻被打槍用舊code
: → kingofsdtw: 正確性,未大量上機無法確定穩定,效能未知 09/14 21:45: → kingofsdtw: 但是code可讀性+100% 09/14 21:45正確性,你是重構別人的code,意思是說,你有測完
【所有】的input 在【所有】的狀態下,的【所有】的output??
當然要包括Exception。
至於可讀性+100%這種心理自high 的,真的無法講什麼,正如有人回應,
你寫的Code 放手一週後回頭看,相信你又要【重構】了。
如果你沒這樣的覺悟,就表示你寫得還不夠多。
台灣人就是看什麼agile, scrum, code review 等爛書,作者們都是沒有
什麼大軟體專案都沒參與過,甚至連programming 嘴得上的作品沒有。
但這些是給不懂開發軟體,沒參與過的人,拿來嘴很好用的。
而 Refactoring, Clean Code 看書名好像是有料之人,結果翻一下作者的經歷,
還是嘴王。偏偏一群人拿出來當神在拜。
但這個對哪些沒覺悟,又想拿功績的人來說,也頂好用的。
真的有經驗談,有含金量的,真的只有人月神話和design pattern了。
但design pattern 也被用爛了。
但...軟體專案,真的不用評估嗎?
哪麼,講個簡單的,不知修汽/機車時,大家會不會要老闆估工時? 就是【多久會好】
這一句話。
然後
waterfall: 時間到了去拿車。
agile/scrum: 天天去問候老闆,看他修到哪。
--
open source projects:
https://github.com/terrylao/
--
台灣一堆公司喜歡考pattern
我以前尊崇的這些東西 現在自己真的覺得頗茫然
滿嘴pattern的一律當成菜鳥
貓咪可愛!XD
不是當天就要老闆把車修好了嗎?我都問,吃完飯來牽行嗎
這句只是將時程換成自己提而已,但最終還是由老闆來回應不是嗎? 結果不就一樣了。
我覺得要說別人爛 沒問題 但是用沒有大型專案的資歷去否定..
感覺怪怪的捏
一個只會騎機車的,在教你麼開大卡車,你會覺得怪嗎? 最慘的是這幾位,可能只有在騎腳踏車而已。 卻嘴出了一套,讓沒做過案子,甚致連寫程式都不會的人,可以拿來嘴。 堂而皇之的稱這是管理。 而這些工作者們,更慘的是也還信了,將這些廢話當聖經了。 小故事,當年的UML 的作者們,一經推出,也是美國大小公司爭相使用,台灣就更 別說了,最好是拉個屎都UML 一下。而當年IBM(UML 原產地) 更推出Rational Rose, 讓你class diagram 畫好即產生code。 現在Rational Rose 都已經停止銷售了,20年過去了,你class diagram 了沒? 人們往往忽視軟體開發是工程問題,而軟體界總是有些新把戲出來, 讓一群人當它是小學生問題。正如常見的三年的資深工程師一樣。 修車修三年,能叫資深嗎? 見人見智。畢境有其局限性,跟修過的車型及遇過的問題相關。 但修車修三年後,變成要去設計一台車,我相信,這就天才加後天囉。
但程度很差的同事真的連pattern 是什麼都不知道....
沒有大型專案經驗 講出來的東西可能根本無法套用在複雜
的專案/人事環境中 卻被追捧 所以被否定很正常啊
clean code 真的是一個很好的例子 簡直是一種宗教
然後你去看大型開源專案哪個不是滿滿的註解 程式碼本身是
能說明個鬼
這些都是垃圾 design pattern都是 不想學這種東西
真的好從你一開始挑選技術就開始決定了
在公司重構也不太必要
比較困擾的是, 現在問 AI 架構也常常被建議那些被追捧
的原則、pattern...
prompt都要寫明各式各樣的情境, AI 才比較能變通XD
你就叫他給你最簡單又遵循既有開發方式的解他就不會給你
太複雜的東西了 需要重構的時候你自己告訴他你想用什麼
模式就好了
亂入一下, sequence diagram 還是很有用啦
Rational Rose好懷念XD...
懷念rational rose +1 XD
我都快忘記Rose了XD
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
我隨便舉個最簡單的例子 二段式左轉跟圓環 為什麼大家都在罵, 但是要改掉也一堆人在罵? 因為大家都習慣了,雖然很智障,11
既然有人發文了,那我也來閒聊閒聊 程式碼阿,就不斷地推陳出新 新架構淘汰舊架構,舊架構不重構也遲早因為各種理由被砍掉 前公司很有遠瞻性 他們終於發現.Netframework 4.0 這東西不行了(大約20年)7
我來響應一下,要怎麼說服工程團隊領導重構 拿安全性壓他,資安這東西,大家都懂,但大家也都不專業 舊架構要嘛運行的環境有已知漏洞、要嘛依賴套件有已知漏洞 去 CVEdetails.com 查一下,整理一下已知漏洞高危清單 用魔法對付魔法,「不改的話有問題你要負責嗎?」
21
[討論] hard code 速度會快嗎?如題 hard code的速度會比較快嗎? 根據我經驗 hard code可以在極短時間內處理一些專案上的問題 但是專案上有高度相似的東西 藉由hard code去寫並不會比較快 反倒是多花一點時間重構 重構完畢之後 再來只要套function 修改參數 這速度會比hard code快很多19
[請益] 台灣在寫android的人有多少?台灣在寫android的人有多少? 看到一篇文 "本人不幸在狗廠的安卓大組,幹了一年多了,說實話每天寫code如上墳。 以前是寫c++ infra的。自我感覺也是見過覆雜系統和覆雜code的。18
[心得]以策略模式重構switch case或if (影片)最近在客戶那邊一起 pair 重構 legacy code, 碰到了一大段 if/else statement,用來判斷什麼時候該使用哪一種cache, 並依照不同 cache 的邏輯來決定回傳的內容。 發現還是有蠻多風氣比較封閉的公司對這類型的基本功跟處理不是很熟悉, 可能是對 code smell 不熟,對重構不熟,對 design pattern 不熟,對工具不熟。![[心得]以策略模式重構switch case或if (影片) [心得]以策略模式重構switch case或if (影片)](https://img.youtube.com/vi/zO-NnNC-xyg/mqdefault.jpg)
17
Re: [討論] 重構之前要寫測試 不然不要重構這就是TAD, 一般做法是假設以前人做的是對的 拿以前的output當測資 避免以後的output跟預期結果不同 技術面的錯誤→沒有防呆/沒有釋放資源/overflow/沒有check 這應該不在討論範圍內, 也有客觀標準 行為與邏輯的部分才是有爭議的, 要嘛根本沒規格只有口傳16
Re: [問卦] 寫爛 code 會有自覺嗎大概入行一年到三年時會阿 覺得前人寫的都是糞,自己不能跟他們一樣廢 看一堆design pattern / clean code的書 覺得自己超強,要有理想 然後寫個七八年十年15
Re: [請益] 這種情況要怎麼重構我這篇寫的跟原原PO的狀況無關 ※ 引述《tbpfs ( )》之銘言: : 其實我真的不懂為什麼要急著重構 : 有好處嗎? : 一般而言,重構都是發生在農閒的時候5
Re: [討論] 寫程式的追求?Fred Brooks(1975) "Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they'll be obvious." Linus Torvalds![Re: [討論] 寫程式的追求? Re: [討論] 寫程式的追求?](https://github.githubassets.com/assets/gist-og-image-54fd7dc0713e.png)
2
Re: [請益] 這種情況要怎麼重構如果專案有deadline的壓力建議是先各自發展以不相互影響為前提,最後再用剩餘時間開 一個分支做重構。其實這就是在規劃專案時沒有一個主要主導的設計人,沒有定義從系統 到功能的分工,導致代碼重工,而且缺乏溝通。 真的建議未來有機會在主導你還是要自己學會定義好工作,先學習不寫code就可以訂出功 能以及架構。我自己工作後常常遇到工程師很喜歡自幹,還沒開始就急著寫code,而不是