Re: [請益] 很多層迴圈和if 怎麼寫比較好整理

看板Soft_Job作者 (無)時間13年前 (2011/07/16 23:08), 編輯推噓7(708)
留言15則, 9人參與, 最新討論串11/16 (看更多)
※ 引述《qrtt1 (null)》之銘言: : 這樣就可以使用 early break/return 的方式 : 也就是版友 ronnywang 建議的部分。 善用 condition , return 的方法是很方便解決 太多層判斷的問題 不過很多的書籍,一直強調函示不要「中途返回」 各位認為呢? 其實goto也不錯,只要能取一個不錯的目的地名稱, 會有一針見血的效果 XD : void func1() : { : if(!a) : return ; : if(b) : { : if(c) : { : // do something : } : } : else : { : // do something : } : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.94.196

07/16 23:12, , 1F
precondition 是在開頭就返回了
07/16 23:12, 1F

07/16 23:41, , 2F
不會那麼剛好都可以開頭就判斷啦 XDDD
07/16 23:41, 2F

07/16 23:43, , 3F
中間的拆出去變 function 又是第一行了 XD
07/16 23:43, 3F

07/17 00:04, , 4F
樓上中肯 XDDD
07/17 00:04, 4F

07/17 00:14, , 5F
3樓XDDDDDDDDD
07/17 00:14, 5F

07/17 02:17, , 6F
如果遇到的情境中間返回會造成困擾,那 function 要再拆掉
07/17 02:17, 6F

07/17 08:27, , 7F
Code Complete是有提到goto的用法,為了守住單一入口,單一
07/17 08:27, 7F

07/17 08:28, , 8F
出口的原則。提早return會讓出口變多。但goto是有爭議的東西
07/17 08:28, 8F

07/17 08:29, , 9F
應該不少書,甚至剛開始學C時教授說過,goto不要用 =w=
07/17 08:29, 9F

07/17 08:33, , 10F
像是Clear Code這本書裡面,就說goto絕對不要用...
07/17 08:33, 10F

07/17 08:34, , 11F
Clean Code (打錯)
07/17 08:34, 11F

07/17 11:42, , 12F
goto 不要用.就很像告訴你指標容易指出bug乾脆不要用?
07/17 11:42, 12F

07/17 13:00, , 13F
goto有時會讓複雜的東西變簡單的神效 但也是要小心使用
07/17 13:00, 13F

07/17 13:03, , 14F
我比較常看到一針一個洞的狀況,而我就是要去補洞的人...
07/17 13:03, 14F

07/17 13:03, , 15F
by: 曾經被人叫去修VB Bug的人
07/17 13:03, 15F
文章代碼(AID): #1E8QbV-s (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 11 之 16 篇):
文章代碼(AID): #1E8QbV-s (Soft_Job)