Re: [討論] 寫三元判斷式code review被打槍
隨著語法的進步
很多會寫 code 的人都很少寫判斷式了
不管是三元還是 if else
寫太多的判斷式
如果….所以…否則…如果….則又…如果..
很不好閱讀
很多Javascript 高手都是用 switch 取代
--
你先確定如果可以全用switch 為什麼還有if-elseif-else
為什麼不行?? if(a) ...elseif(b)... else... 等同 switch ...case(a) case(b) default... 簡潔又直觀
反串要先說
這串有完沒完
???
聽君一席話
有沒有code參考一下
廢話連篇
我上次用openai寫code也被打槍 好煩惱
還好現在一堆人都用嘴寫code
又是你 刷廢文嗎?
哈哈哈哈
switch?
我都用最潮的steamdeck
優文唷
..
switch沒辦法完全取代if else吧...
怎麼可能不行
※ 編輯: unixxxx (36.225.146.185 臺灣), 12/17/2022 17:58:41python 3.10之前沒有switch case,表示功能上是可以互換
的。但是使用情境和可讀性就見仁見智了。
感覺JavaScript 有functional programming 的傾向,可以
理解用switch case替代if-else
有 switch 後就很少人用if else了, FP後更是
switch硬要搞的話一定可以取代if else啊 只是寫起來很蠢
看完你的回應 我覺得你真的滿弱的...switch不是給你這樣
用的
阿 我跟你認真了 爬了一下你的文 原來是提出"不會分析
複雜度的演算法強者"這種觀念的人啊...算了
平行世界 不足與語
你最強啦
可是3.10有pattern matching...
Rust:
厲害
上一段推文沒噓 補噓
呃...我也不覺得switch 能完全取代if-else。而且我認為
很可能是ReactJs的設計理念讓工程師使用switch,畢竟這
樣比較符合what to do的declarative programming。
至於是不是用FP就是高手我就不予置評了
react 就是因switch啟發而來的
if else 就是 boolean specialized 的 switch case 啊
雖然可以用 if else 的地方一定可以用 switch case,但
不代表什麼都用 switch case 比較好
真的就說可以
※ 編輯: unixxxx (36.225.146.185 臺灣), 12/18/2022 02:46:58…除非有reference,不然我不信react是由switch啟發來的
等等 有switch以後就很少人用if-else是誰跟你說的?
switch case從你出生前的遠古時代就有了
React 就是 switch 啟發而來的..你認真??????
反串要先講
還好不是你同事
多說一點大師的理解 讓大家學習學習
好可憐
我先為你同事以及要接手你code的人默哀一分鐘
這個版的被噓的文都好好笑
不行啦 一個condition的話 switch 比if要多打四個字
不對還有case: 要多打九個字
95
首Po小弟寫java的 以前常常寫三元判斷式 就比如說 String a; if(con) {18
三元不能用 算還好了 我還遇過 a=1; ... ...11
Code review 檢查這些會有點太花時間,應該有更重要的東西要看。 可以用一些 Gradle plugins 卡在 CI 比較省事: 1. Checkstyle 顧名思義檢查 style。 2. SpotBugs12
從 C++ 的角度來說 三元運算子有機會改變 l-value/r-value 的性質,進而破壞最佳化 舉個簡單例子 可以看到用三元運算子的時候,回傳區域變數竟然要 copy 而不是 move 雖然說 Java 沒有這些5
沒有 沒有什麼公認 要解決coding style 最好的辦法就是CTO大頭召集全部RD開會 把這間公司的coding style全都記下來8
這種事情 不就和阿里巴巴一樣 一開始給大家一本手冊 哪些code 或是哪些style在本公司不要出現24
說到switch,想來問問你各位公司的code style是下面哪種 (1) switch Var1 { case a: xxx5
好啦 假設不是反串 我覺得滿有道理的 但有一點其實你說錯了 其實並不是語法進步 之前學 Rust 覺得哇 pattern matching 真是他媽神 好潮喔 後來跑去學 OCaml 我才發現(Rust設計者是OCaml粉 一開始的compiler就是用OCaml寫)9
"特定"情況下的確是好方式 舉個例子 以前我在調校能時候有用過這種方式 這是c#的code部分節錄 void Mem_w(ushort address, byte value) { if (address < 0x2000) NES_MEM[address & 0x7ff] = value;