Soft_Job 板


LINE

吐泡一下 最近在維護一個交易老程式碼 就像是依照流程圖畫出來的狀態機實作 主狀態機有N個case 每個case又各自註冊可以重複的條件 FSM主要的狀態是有順序的 但是下面登記的function重覆性有87% 一個flag就可以解決的事情搞到變成很巨大的狀態機 有股想砍掉重練的衝動...但是只能自己驗證 QQ --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 116.241.146.114 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1656693758.A.975.html
1F:→ ybite: 我認為看設計 良好設計下可以迴避可能問題 07/02 01:05
2F:推 w180112: 設計問題…不要怪東怪西 07/02 01:44
3F:→ labbat: 主管請你來是維護的,亂動手腳而不提出規格變更申請是找死 07/02 01:45
4F:→ Apache: 不是 幾乎所有DP教材都會講到SM 07/02 01:47
5F:→ pot1234: 87%像的程式碼沒有共用code,這不是fsm的問題吧 07/02 06:16
6F:推 k798976869: IC數位設計都是狀態機啊 07/02 07:06
7F:推 MacPerson: 如果改狀態,大家都自己去異動flag就好,那才是真正的 07/02 07:07
8F:→ MacPerson: 災難 07/02 07:07
9F:推 TWkobe: 要看驗證還有主管同意 07/02 07:22
10F:推 wulouise: fsm最好要有辦法auto gen流程圖,不然維護起來很痛苦, 07/02 07:23
11F:→ wulouise: 而且要是每個流程都在那邊改一堆singleton..算了 07/02 07:23
12F:→ milk830122: 各有好處吧 設計模式看情況用 flag遇到大架構要改直接 07/02 07:48
13F:→ milk830122: 累死 07/02 07:48
14F:→ tofuflower: 用 flag 也會有 flag 的雷 07/02 08:45
15F:→ tofuflower: 如果每個 func 的業務邏輯是獨立的, code 有 87 % 07/02 08:51
16F:→ tofuflower: 像也不是問題 07/02 08:51
17F:→ tofuflower: 把看起來一樣的程式碼共用等於把所有業務邏輯耦合在一 07/02 08:53
18F:→ tofuflower: 起,這更雷 07/02 08:53
19F:噓 kkes0001: 怎麼看都覺得問題是實現架構的人 07/02 09:41
20F:噓 smallcar801: 沒壞的東西不要修 07/02 09:58
21F:→ alongalone: 存在必有道理. 人的問題不要怪東西 07/02 10:26
22F:推 wulouise: 重複不表示他們可以同時被改 07/02 11:19
23F:推 NDark: 大部分是. 原因很複雜不能歸咎於一處. 07/02 11:25
24F:→ NDark: 最大的問題常發生在幾處: 07/02 11:26
25F:→ NDark: - (後續)需求就超出設計之初的範圍 07/02 11:26
26F:→ NDark: - 維護的人沒有照著狀態機的方式來撰寫邏輯 07/02 11:27
27F:→ NDark: 邏輯分離得好就算switch也能運作得很好. 07/02 11:28
28F:→ NDark: 狀態機有點像是緊錮圈.是頭要去適合圈. 07/02 11:29
29F:→ NDark: 不是每個開發者/團隊都有受過足夠的訓練能用得好. 07/02 11:29
30F:推 airtsubasa: 沒壞的東西不要修,但頻繁修改(例如一樣的邏輯要改n個 07/02 11:36
31F:→ airtsubasa: 地方,然後變數還不一樣) 那到底要不要修呢 07/02 11:36
32F:推 Odia: 在沒有提出更好的設計前別說是災難 07/02 13:11
33F:→ s678131: FSM明明是個好東西 07/02 13:46
34F:→ dnabossking: 我接收過這種賺錢中程式碼,我直接翻寫掉了,我滿肯 07/02 14:19
35F:→ dnabossking: 定 07/02 14:19
36F:→ dnabossking: 不是狀態機的問題 07/02 14:19
37F:→ DrTech: 標題是災難,看一個程式有問題,就說整個世界有問題。 07/02 14:59
38F:→ alan3100: 差多了吧...感覺上是你不知道為何要用FSM 07/02 15:25
39F:→ alan3100: 邏輯規模大到覺得測試麻煩大概就可猜想你不應該改成flag 07/02 15:43
40F:噓 wave1et: 自己為是阿,你快搞懂後把狀態數合併吧 07/02 17:02
41F:推 easyman: 使用FSM 肯定不會太災難, 用flag 才災難 07/02 17:19
42F:推 chuegou: 聽你在屁 10幾個flag在那邊if else你連文件都寫不出來 07/02 17:45
43F:→ chuegou: 你是不是要說沒文件是災難 07/02 17:46
44F:→ lturtsamuel: 誰叫你要用狀態來實作fsm,用class或variant不好嗎 07/02 19:48
45F:噓 pttano: 你才是災難,跟程式沒關係 07/02 20:58
46F:噓 ichunlai: 用flag才是災難 07/02 22:39
47F:推 viper9709: 三樓正解 07/02 23:54
48F:→ peter98: 這個還真不一定 07/03 00:38
49F:推 APTON: 有辦法提供sample code給大家討論嗎?不然也只是聽你抱怨而 07/03 00:54
50F:→ APTON: 已 07/03 00:54
51F:→ molimoli: 怎麼感覺你比較雷 07/03 01:00
52F:→ Lipraxde: 不然有更好的寫法嗎? 07/03 08:31
53F:噓 KanzakiHAria: 笑死 自己不會改狀態機說那是災難 07/03 11:58
54F:推 za755188: 狀態機如果文件還在 不容易大災難 07/03 17:56
55F:→ za755188: 至少很容易理解他裡面在幹嘛 07/03 17:58
56F:→ revorea: flag災難中的災難 07/04 00:52
57F:推 CaptainH: 沒有FSM的話就是一堆if-elseif 有比較簡單? 07/04 08:07
58F:→ bear1414: FSM是有用的控制架構 會變成災難通常是用的人的問題 07/04 11:08
59F:→ bear1414: 另 砍掉重練可以 但test case涵蓋率要趨近99.9%以上 07/04 11:10
60F:→ bear1414: 尤其是邊界條件或很少出現的條件的test都要涵蓋 07/04 11:11
61F:→ notBeing: 先生出100% coverage 的test env再改阿XD 07/04 13:00
62F:→ freef1y3: flag是災難 所以把flag每個組合都弄成state就不是災難了 07/04 14:38
63F:→ hongsiangfu: 擴展便利,修改便利,過度最佳化不一定是好事 07/05 12:08
64F:推 snaketsai: 若真如你說,那應該有大量的狀態轉換可以縮減吧,離散 07/07 13:57
65F:→ snaketsai: 數學基本概念 07/07 13:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP