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

看板Soft_Job (軟體人)作者 (退伍啦)時間14年前 (2011/07/14 22:10), 編輯推噓8(8048)
留言56則, 13人參與, 最新討論串3/16 (看更多)
while (condition_A) { // ... 甲 if (condition_B) { // ... 乙 if (condition_C) { // ... 丙 } } } 可以改寫成 while (condition_A) { // ... 甲 if (!condition_B) { continue; } // ... 乙 if (!condition_C) { continue; } // ... 丙 } 原來的四層只剩下兩層 再搭配 function 的 return 來中斷的話 甚至用 Exception 其實程式需要寫到三層以上的機會很少的 不過重點還是在改寫後可讀性不能受到影響 ※ 引述《littlethe (東周小星星)》之銘言: : 1.寫成多個function,但若重覆的程式不多, : 改成function總長度也不會變短多少,但是是最簡單的方式 : 2.給個變數當判斷值,每個條件都判斷完後,再依照這個判斷值的結果做動作, : 好處是程式碼容易閱讀 : 3.寫成table去做比對,不要在程式中做處理,是比較嚴謹也比較可以分工的做法 : 還有其他的寫法啦,但就比較花式了,先寫會基本的做法就好 : ※ 引述《viable (viable)》之銘言: : : 這版上諸多經驗豐富的高手, : : 讓小妹向各位請教一個問題。 : : 小妹最近翻出一個程式, : : 其中有一”坨”由好幾個迴圈和if堆疊而成 : : {{{{ : : {} : : {} : : {} : : { : : {} : : {} : : } : : }}}} : : 夾雜一堆變數和三、四維陣列,弄得小妹頭昏眼花 : : 小妹想了解如何改寫會更簡潔明嘹 -- 前任戰略高手董事長吳文中:「線上遊戲是外星人發明用來毀滅地球的武器!它們 是垃圾、讓人玩物喪志,只有亞洲民智未開的國家才會興盛這些On-line Game 。」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.235.14 ※ 編輯: ronnywang 來自: 114.25.235.14 (07/14 22:10)

07/14 23:37, , 1F
盡量換個角度想,多用extract mehtod, 可以讓code變漂亮!!
07/14 23:37, 1F

07/14 23:37, , 2F
我也喜歡這麼做。
07/14 23:37, 2F

07/15 11:28, , 3F
簽名檔很讚XD
07/15 11:28, 3F

07/15 12:07, , 4F
你還是沒解決到問題
07/15 12:07, 4F

07/15 12:15, , 5F
你的書上有些switch這個字吧 玩線上遊戲也要看看書阿
07/15 12:15, 5F

07/15 13:28, , 6F
我覺得你沒有把我的問題看完 我說過if底下沒有再包一層if
07/15 13:28, 6F

07/15 13:30, , 7F
這不相干的東西 你可不可以另開一篇 不要誤導原本問題方向
07/15 13:30, 7F

07/15 22:25, , 8F
就算原PO不是針對樓上的方式去求解,但這篇所提出來的技巧
07/15 22:25, 8F

07/15 22:26, , 9F
也還是有解決同樣的問題阿。樓樓上的推文有失公正噢
07/15 22:26, 9F

07/16 11:54, , 10F
推樓上
07/16 11:54, 10F

07/16 12:54, , 11F
07/16 12:54, 11F

07/16 13:41, , 12F
既然跟我的問題不相干 跟我談什麼公正?我當是法官喔
07/16 13:41, 12F

07/16 13:43, , 13F
就算當法官也要收錢財給你公正的
07/16 13:43, 13F

07/16 13:45, , 14F
原PO一來我和你不熟 二來你不是"高手" 請別對號入座XD
07/16 13:45, 14F

07/16 13:48, , 15F
看到這篇居然能有幫助的人 那很為你們開心 也恭喜你們阿
07/16 13:48, 15F

07/16 13:51, , 16F
能讓你們入門書少看好幾頁 真是日行n善呢
07/16 13:51, 16F

07/16 14:01, , 17F
你們教授收了學費是都交你們什麼
07/16 14:01, 17F

07/16 14:03, , 18F
還是你們還是高中生 正在預習課程 那真的是很用功上進 加油
07/16 14:03, 18F

07/16 14:15, , 19F
還有 我覺得你們有失公正這句話 有批評的意思
07/16 14:15, 19F

07/16 14:17, , 20F
已經寫要請教'高手'了 學生請不要來湊熱鬧 此非soft_school
07/16 14:17, 20F

07/16 14:27, , 21F
'另開一篇'四個字是沒看到嗎? 這有公不公正的問題嗎?
07/16 14:27, 21F

07/16 14:30, , 22F
既沒公不公正的問題就沒有所謂的失公正 請別造口業 卍(*04)
07/16 14:30, 22F

07/16 14:57, , 23F
switch是你們人生重要的里程碑 所以你們要多推一下
07/16 14:57, 23F

07/16 14:58, , 24F
以下開放推文 紀念人生的里程碑
07/16 14:58, 24F

07/16 15:43, , 25F
本來回文的人就不多了~"對號入座"這樣一講搞不好全沒了XD
07/16 15:43, 25F

07/16 16:17, , 26F
原PO別怕惡人. 我挺你.
07/16 16:17, 26F

07/16 16:40, , 27F
我看了一下只有我回switch 對不起喔 這switch讓妳不爽了
07/16 16:40, 27F

07/16 17:48, , 28F
學生也是有高手的阿....
07/16 17:48, 28F

07/16 21:44, , 29F
不知道問問題可以問到這麼嗆,連回都不想回
07/16 21:44, 29F

07/16 22:16, , 30F
你有付錢嗎 人家有收你錢嗎 這裡是公眾板面不是你個人BLOG
07/16 22:16, 30F

07/16 22:16, , 31F
板不是你的
07/16 22:16, 31F

07/16 22:17, , 32F
你有什麼資格掌握一個討論串 侷限他人在自己文章內的言語
07/16 22:17, 32F

07/16 22:21, , 33F
人家就是要回 你能奈他何? 因為你並沒有那個權力
07/16 22:21, 33F

07/16 22:21, , 34F
如果你覺得不高興 那請展現你的"權力"
07/16 22:21, 34F

07/16 22:22, , 35F
如果沒辦法展示你的"權力"給我們看 表示你根本沒有那個權力
07/16 22:22, 35F

07/16 22:23, , 36F
既然沒有那個權力 你就繼續其他文章的推文叫他們開別篇吧
07/16 22:23, 36F

07/16 22:23, , 37F
當然看其他人會不會理你ccc
07/16 22:23, 37F

07/17 06:45, , 38F
因為我覺不會switch的不可能做軟體工作 他違反版規三
07/17 06:45, 38F

07/17 06:47, , 39F
懶的去檢舉 但覺的煩的是 他來回的是我的題目
07/17 06:47, 39F

07/17 06:49, , 40F
而且這種東西程式課本一番開就會教了吧 我真是何德何能啊
07/17 06:49, 40F

07/17 06:53, , 41F
公眾版面所以有版規 他犯的是版規三 版規又不是我定的
07/17 06:53, 41F

07/17 06:54, , 42F
謝謝熱心的人 為了回答我的問題而違反版規ㄚ
07/17 06:54, 42F

07/17 06:56, , 43F
感謝你們赴湯蹈火也要幫 雖沒幫到 也真夠義氣的啊
07/17 06:56, 43F

07/17 06:59, , 44F
我真是不知道說什麼才能表示我對你們的感觸良多ㄚ(爽了唄)
07/17 06:59, 44F

07/17 09:48, , 45F
並沒有違反板規三 板主TonyQ在下面回文已經解釋過了
07/17 09:48, 45F

07/17 09:48, , 46F
本文並沒有違反任何中華民國法律 ptt站規 Soft_Job板規
07/17 09:48, 46F

07/17 09:50, , 47F
你覺得你比他厲害,ok 你覺得你比學生厲害,fine
07/17 09:50, 47F

07/17 09:50, , 48F
你用正面詞語赴湯蹈火+義氣正面詞來反諷沒幫到,good
07/17 09:50, 48F

07/17 09:51, , 49F
用感觸良多來掩飾"內心情感" 沒什麼不好 大家心裡都知道你要
07/17 09:51, 49F

07/17 09:51, , 50F
表達什麼 對你我們也是感觸良多
07/17 09:51, 50F

07/17 09:52, , 51F
感謝你引出下面這麼多好文 當然我不會去推個你們蓄意誤導方向
07/17 09:52, 51F

07/17 10:24, , 52F
推樓上
07/17 10:24, 52F

07/17 10:50, , 53F
他沒有違反版規三,這串文章都符合版規三。
07/17 10:50, 53F

07/17 10:58, , 54F
好兇啊原原po,沒看過這種的 XD 帥氣
07/17 10:58, 54F

07/17 11:47, , 55F
gMaS,我有受權你幫我發言嗎?
07/17 11:47, 55F

07/17 11:53, , 56F
解讀在各人 你的授權我才不想要~ 我要去吃飯了 吃飽飽喔~
07/17 11:53, 56F
文章代碼(AID): #1E7lZNsP (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1E7lZNsP (Soft_Job)