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

看板C_and_CPP作者 (我要加入劍道社!)時間14年前 (2010/12/07 05:52), 編輯推噓6(6021)
留言27則, 7人參與, 最新討論串14/21 (看更多)
※ 引述《yauhh (喲)》之銘言: : 當然善用shortcut-circuit evaluation寫邏輯句子很容易: : (data == NULL) && printf("Data not found.") : || (checkData(data) != 0) && printf("Data is invaild.") : || (modifyData(data) != 0) && printf("Data modification failed.") : || (fireDataChanged(data) != 0) && printf("Observer call failed.") : || (saveDataIntoFile(data) != 0) && printf("Data storage failed.") : || printf("Finally succeed..."); : 邏輯運算一般是 && 優先權高於 ||. : 使用 ? : 還可以把stage埋進去,或者把部份處理完的資料傳回來. : 至於看起來是不是簡單明瞭,邏輯句基本上是最簡單明瞭的, : 看不懂這種句子的人是自己基礎學科沒有學好. 我說啊,這方法真的很糟糕。先不論它容不容易懂好了, 要用這方法有一個必要條件,那就是 printf 必須要有回傳值, 而且回傳值可以進行 true/false 的判斷。 如果回傳 void 那根本編不過。 大部份的情況中,處理錯誤並非只是單純的 printf 而已, 可能還會對之前的指令進行 rollback, 如果要加入這部份的處理,使用 short-circuit 會顯得非常複雜。 事實上我覺得用 exception 才是最簡潔的方式, 當然要特別注意 resource leak 就是了。 結論:short-circuit 在 C_and_CPP 玩一玩就好, 拜託別在大型 project 這樣搞。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.15.163

12/07 13:54, , 1F
同意
12/07 13:54, 1F

12/07 14:09, , 2F
:)
12/07 14:09, 2F

12/07 14:14, , 3F
↑ = =" 多一對眼睛好噁心
12/07 14:14, 3F

12/07 14:51, , 4F
EVA貳號機XD
12/07 14:51, 4F

12/07 16:40, , 5F
同意...
12/07 16:40, 5F

12/07 19:53, , 6F
喔, 那右邊半句應該要寫 (printf(...), true) 這樣就ok了.
12/07 19:53, 6F

12/07 19:54, , 7F
你的論述跟結論跳tone很大,邏輯關聯性不強.
12/07 19:54, 7F

12/07 19:55, , 8F
第二段的對應法只要 (process_err(), true) 就可以了
12/07 19:55, 8F

12/07 19:56, , 9F
程式是可以變通的,不要人講什麼你就只批什麼.
12/07 19:56, 9F

12/07 19:56, , 10F
是ㄚ是ㄚ... 那幹麻不寫成第二或第三篇, 不是簡單許多
12/07 19:56, 10F

12/07 19:57, , 11F
他不會別人講什麼就批什麼,你沒看別人的文章都沒事,只有你
12/07 19:57, 11F

12/07 19:57, , 12F
的文章會從以前到現在都一直被幹 XD
12/07 19:57, 12F

12/07 23:09, , 13F
來我們看一下 printf() 的傳回值是什麼:
12/07 23:09, 13F

12/07 23:09, , 15F
f/
12/07 23:09, 15F

12/07 23:10, , 16F
起碼應該不會回傳 `void' 這個玩意兒
12/07 23:10, 16F

12/07 23:11, , 17F
我說y寶貝妳現在的身價就只有在BBs上吐嘈而已了?
12/07 23:11, 17F

12/07 23:14, , 18F
妳可是連一篇都寫不出來呢,只會寫一些老生常談的東西
12/07 23:14, 18F

12/07 23:18, , 19F
哦哦,"只有我的文章一直被幹",妳可承認你都因人廢言了.
12/07 23:18, 19F

12/07 23:18, , 20F
那就最好檢討妳自己就好了吧,小y寶貝
12/07 23:18, 20F

12/07 23:52, , 21F
我也覺得小 y 寶貝最好檢討一下,不過不是 yoco。
12/07 23:52, 21F

12/08 00:16, , 22F
重點根本不再printf上面......
12/08 00:16, 22F

12/08 00:52, , 23F
你的文章一直被幹,我只是描述事實 XD
12/08 00:52, 23F

12/08 00:52, , 24F
當然你自我感覺良好無視這些事實大家都知道 XD
12/08 00:52, 24F

12/08 00:53, , 25F
至於我能寫多少東西大家心裡都有底 -___-
12/08 00:53, 25F

12/08 00:54, , 26F
0.0
12/08 00:54, 26F

12/08 00:54, , 27F
是不是老生常談還是有新技術你自己翻一下就知道了小寶貝qq
12/08 00:54, 27F
文章代碼(AID): #1C_SkJKg (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 14 之 21 篇):
文章代碼(AID): #1C_SkJKg (C_and_CPP)