Re: [閒聊] 尋求比nest-if更優美的解決辦法
※ 引述《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.");
看完l大的程式,心中也有點想法想跟大家討論看看
我有一個想法是,寫一個執行動作流程的管理物件
把要執行檢查的function都一個一個的註冊進去
然後輸入要執行的Data , 然後執行.
程式碼在此 http://codepad.org/uA0LIfbu
這樣的設計會過於多餘嗎?
程式碼重用性會不會不好..
優缺點又是什麼?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.225.52
推
12/09 00:27, , 1F
12/09 00:27, 1F
→
12/09 00:28, , 2F
12/09 00:28, 2F
→
12/09 00:48, , 3F
12/09 00:48, 3F
→
12/09 00:53, , 4F
12/09 00:53, 4F
※ 編輯: sandr1983 來自: 123.240.225.52 (12/09 00:57)
→
12/09 01:02, , 5F
12/09 01:02, 5F
→
12/09 01:02, , 6F
12/09 01:02, 6F
推
12/09 01:23, , 7F
12/09 01:23, 7F
→
12/09 01:23, , 8F
12/09 01:23, 8F
→
12/09 01:24, , 9F
12/09 01:24, 9F
→
12/09 01:24, , 10F
12/09 01:24, 10F
→
12/09 01:26, , 11F
12/09 01:26, 11F
→
12/09 01:27, , 12F
12/09 01:27, 12F
→
12/09 01:31, , 13F
12/09 01:31, 13F
推
12/09 01:34, , 14F
12/09 01:34, 14F
推
12/09 01:34, , 15F
12/09 01:34, 15F
推
12/09 01:35, , 16F
12/09 01:35, 16F
→
12/09 01:43, , 17F
12/09 01:43, 17F
推
12/09 01:43, , 18F
12/09 01:43, 18F
→
12/09 01:44, , 19F
12/09 01:44, 19F
→
12/09 01:45, , 20F
12/09 01:45, 20F
→
12/09 01:45, , 21F
12/09 01:45, 21F
→
12/09 01:56, , 22F
12/09 01:56, 22F
→
12/09 01:59, , 23F
12/09 01:59, 23F
→
12/09 02:19, , 24F
12/09 02:19, 24F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 18 之 21 篇):