Re: [閒聊] 尋求比nest-if更優美的解決辦法

看板C_and_CPP作者 (System hacked)時間14年前 (2010/12/06 15:12), 編輯推噓0(004)
留言4則, 4人參與, 最新討論串7/21 (看更多)
※ 引述《awashharp (AwA)》之銘言: : 最近在寫一些網路server相關的程式, : 為了要產生足夠詳盡的錯誤訊息給使用者,常常會發現用了很深的nest-if程式… : 像是: : if(data != NULL) { : if(checkData(data) == 0) { : if(modifyData(data) == 0) { : if(fireDataChanged(data) == 0) { : if(saveDataIntoFile(data) == 0) { : printf("Finally succeed..."); : } : else printf("Data storage failed."); : } : else printf("Observer call failed."); : } : else printf("Data modification failed."); : } : else printf("Data is invaild."); : } : else printf("Data not found."); 看了一下推文好像沒提到這種方法... do { if (...) { ... break; } if (...) { ... break; } ... } while (0); 不過有些功能比較強大的 library 可以作到 FSM?應該也可以達到你要做的 效果... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.242.135.97

12/06 23:22, , 1F
FSM 是一種技巧而已,我也想知道有沒有人專門寫lib.
12/06 23:22, 1F

12/06 23:23, , 2F
原 po 第一篇就有提到他不想用這個方法了 QQ
12/06 23:23, 2F

12/07 00:41, , 3F
msm算不算
12/07 00:41, 3F

12/07 15:49, , 4F
感謝XD 其實要是處理更複雜一點的東西可以用這招啦XD
12/07 15:49, 4F
文章代碼(AID): #1C_Frsyx (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 21 篇):
文章代碼(AID): #1C_Frsyx (C_and_CPP)