看板 Soft_Job 關於我們 聯絡資訊
※ 引述《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
qrtt1:precondition 是在開頭就返回了 07/16 23:12
Ting1024:不會那麼剛好都可以開頭就判斷啦 XDDD 07/16 23:41
lovdkkkk:中間的拆出去變 function 又是第一行了 XD 07/16 23:43
Ting1024:樓上中肯 XDDD 07/17 00:04
tomap41017:3樓XDDDDDDDDD 07/17 00:14
ykjiang:如果遇到的情境中間返回會造成困擾,那 function 要再拆掉 07/17 02:17
aecho:Code Complete是有提到goto的用法,為了守住單一入口,單一 07/17 08:27
aecho:出口的原則。提早return會讓出口變多。但goto是有爭議的東西 07/17 08:28
aecho:應該不少書,甚至剛開始學C時教授說過,goto不要用 =w= 07/17 08:29
aecho:像是Clear Code這本書裡面,就說goto絕對不要用... 07/17 08:33
aecho:Clean Code (打錯) 07/17 08:34
clanguage:goto 不要用.就很像告訴你指標容易指出bug乾脆不要用? 07/17 11:42
edward13:goto有時會讓複雜的東西變簡單的神效 但也是要小心使用 07/17 13:00
zanyking:我比較常看到一針一個洞的狀況,而我就是要去補洞的人... 07/17 13:03
zanyking:by: 曾經被人叫去修VB Bug的人 07/17 13:03