[問題] 請問有更好的寫法嗎?

看板C_and_CPP (C/C++)作者 (rosemary0401)時間15年前 (2011/01/30 15:12), 編輯推噓1(1012)
留言13則, 7人參與, 最新討論串1/1
最近寫程式發現一個問題, 太大量的程式放在巢狀if-else的裡面,會讓程式的可讀性變差 比方說: if(條件一) { if(條件A) { //一大堆程式碼 } else if(條件B) { //一大堆程式碼 } else if(條件C) { //一大堆程式碼 } else { //一大堆程式碼 } } else if(條件一) { // ... } else if(條件二) { // ... } else if(條件三) { // ... } else { // ... } 請問有沒有更好的寫法,增加程式的可讀性 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.222.43

01/30 15:23, , 1F
switch
01/30 15:23, 1F

01/30 15:28, , 2F
如果你的程式碼大部分都長得很像, 可以考慮 table-
01/30 15:28, 2F

01/30 15:29, , 3F
driven-Approach http://ppt.cc/sQ@W 也或許根本不需
01/30 15:29, 3F

01/30 15:31, , 4F
分成這麼多的條件去作, 程式碼部分也可改成呼叫函式隱
01/30 15:31, 4F

01/30 15:31, , 5F
藏實作, 必要時可以用多型
01/30 15:31, 5F

01/30 15:39, , 6F
分寫成class,並使用多型 XD
01/30 15:39, 6F

01/30 16:03, , 7F
原PO是在追求神之一行程式碼吧??
01/30 16:03, 7F

01/30 16:56, , 8F
function寫完,驗證無誤之後,拿來用還需要再追這裡面在做
01/30 16:56, 8F

01/30 16:57, , 9F
什麼嗎?
01/30 16:57, 9F

01/30 16:58, , 10F
另外, 或許可爬爬"尋求比nest-if更優美的解決辦法"討論
01/30 16:58, 10F

01/30 16:58, , 11F
串.
01/30 16:58, 11F

01/30 19:39, , 12F
考慮State Patten
01/30 19:39, 12F

02/02 22:21, , 13F
用多型重構
02/02 22:21, 13F
文章代碼(AID): #1DHGzEUY (C_and_CPP)
文章代碼(AID): #1DHGzEUY (C_and_CPP)