Re: [語法] 無規則性固定數值輸入的處理方式?
完全不能理解 if else 會比 switch 好的原因在哪。
可讀性不管怎麼想都是 switch 比較好(其實這連想都不用想吧)
這是程式碼對於本身的意圖的表達能力的問題。
就像是雖然我們用 while 可以作到 for 的事,兩者可以互換,
但是一般我們跑「某預期次數的迴圈、或是迭代某個容器」的時候就會去用 for,
而 while 會在「重複執行直到某條件成立」的狀況下。
也就是說,閱讀程式碼的人,在看到 for 的時候,
就會預期此段程式碼是用來處理「某預期次數、或是迭代某容器」的功能。
而在看到 while 的時候,就會預期這段程式碼是用「重複直到某條件成立」
這種程式碼才叫做「可讀性好」,不是程式碼短就是可讀性高,
如果你的程式在此時的行為,就是一個符合 switch 模型的行為,
那用 switch 才是對的,因為別人看到這段程式就知道這段程式碼的意圖。
更別說用 switch 讓編譯器有機會在這邊可以進行最佳化。
這段程式碼,不管在機器看還是在給人看的角度,都應該使用 switch。
我不知道現實世界是如何,
不過你夢裡面那位主管的程度顯然是比你好的,
如果你的夢短時間內不會醒的話,敝人的建議是他說啥你就照辦,
因為依你目前的程度來說,顯然他可以讓你學到東西。
當然如果以後他又說了什麼不甚理解的話,也歡迎繼續上來尋求解釋。
另外關於 hash 的問題,雖然個人覺得這是很不錯的方案,
但是既然夢裡面貴公司寫的是對時間空間都很要求的系統程式,
那在只有十個 case 的現下在這個狀況,敝人建議用 switch 就好。
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.113.158
※ 編輯: yoco315 來自: 118.160.113.158 (05/15 18:19)
→
05/15 19:07, , 1F
05/15 19:07, 1F
→
05/15 19:08, , 2F
05/15 19:08, 2F
推
05/15 21:11, , 3F
05/15 21:11, 3F
推
05/15 23:29, , 4F
05/15 23:29, 4F
→
05/15 23:29, , 5F
05/15 23:29, 5F
→
05/15 23:30, , 6F
05/15 23:30, 6F
→
05/16 03:58, , 7F
05/16 03:58, 7F
→
05/16 03:58, , 8F
05/16 03:58, 8F
→
05/16 03:59, , 9F
05/16 03:59, 9F
→
05/16 04:00, , 10F
05/16 04:00, 10F
→
05/16 04:01, , 11F
05/16 04:01, 11F
→
05/16 04:01, , 12F
05/16 04:01, 12F
→
05/16 04:02, , 13F
05/16 04:02, 13F
→
05/16 04:03, , 14F
05/16 04:03, 14F
→
05/16 04:03, , 15F
05/16 04:03, 15F
→
05/16 04:04, , 16F
05/16 04:04, 16F
推
05/16 13:28, , 17F
05/16 13:28, 17F
討論串 (同標題文章)
完整討論串 (本文為第 6 之 7 篇):