Re: [問題] 多邏輯判斷的if合併或拆開對效能有影響嗎?
※ 引述《hirabbitt (兔子)》之銘言:
: 例如說
: if(邏輯1 && 邏輯2 && 邏輯3 && 邏輯4){
: //要做的事
: }
: 和這樣
: if(邏輯1){
: if(邏輯2){
: if(邏輯3){
: if(邏輯4){
: //要做的事
: }
: }
: }
: }
: 有哪個明顯的比較好嗎?
: 謝謝
第一種寫法做了二件事: 第一是將合格的case放在一起, 第二則是這些合格的case
順序被模糊掉.
優於第二種寫法是,當你要拉出 else case 時,在第二種寫法要知道把 else case
擺對層次及位置 (想想看, (邏輯1 && !邏輯2 && 邏輯3 && !邏輯4) 擺在什麼位置,
(邏輯1 && 邏輯2 && !邏輯3 && !邏輯4) 又擺在什麼位置),
但是第一種寫法只告訴你,現在只有四種情況皆在的範圍定義出來,如果你要拉出
else case, 只要範圍不屬於前四種情況的範圍,都可以從同樣這個 if 層次往下
拉出 else case.
第一種寫法在重新整理程式時,比第二種寫法容易.
--
/yau
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.229.22
推
05/26 00:57, , 1F
05/26 00:57, 1F
→
05/26 01:03, , 2F
05/26 01:03, 2F
→
05/26 01:04, , 3F
05/26 01:04, 3F
→
05/26 01:04, , 4F
05/26 01:04, 4F
→
05/26 01:05, , 5F
05/26 01:05, 5F
→
05/26 01:05, , 6F
05/26 01:05, 6F
推
05/26 01:39, , 7F
05/26 01:39, 7F
→
05/26 02:02, , 8F
05/26 02:02, 8F
推
05/26 09:15, , 9F
05/26 09:15, 9F
→
05/26 09:16, , 10F
05/26 09:16, 10F
→
05/26 09:35, , 11F
05/26 09:35, 11F
→
05/26 21:33, , 12F
05/26 21:33, 12F
→
05/26 21:34, , 13F
05/26 21:34, 13F
→
05/26 22:28, , 14F
05/26 22:28, 14F
→
05/26 22:29, , 15F
05/26 22:29, 15F
→
05/26 22:29, , 16F
05/26 22:29, 16F
→
05/26 22:30, , 17F
05/26 22:30, 17F
→
05/26 23:17, , 18F
05/26 23:17, 18F
→
05/26 23:30, , 19F
05/26 23:30, 19F
→
05/26 23:31, , 20F
05/26 23:31, 20F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):