Soft_Job 板


LINE

最近公司读书会在看 Martin Fowler 的 Refactoring, 大概第九或第十章他有用到三元 sample code 大概是这样 const price = summer()? summerPrice() : commonPrice(); 然後我们有看这串文章讨论了一下 讨论的结果是,我们觉得三元比较适合用在 "单纯,且明确是非 A 即 B 的情况" ex const desc = score > 60? "及格" : "不及格" 而像上面 summer 的情况则比较不适合, 因为一年有四季,需求调整改着改着就变巢状了, 除非公司有明确的规范及 review 作业流程 而为了避免各种认知差异衍生的麻烦,直接禁用也是合理的 以上,刚好最近也有讨论到 ※ 引述《a88241050 (再回头已是百残身)》之铭言: : 小弟写java的 : 以前常常写三元判断式 : 就比如说 : String a; : if(con) { : a= "aaa"; : } else { : a="bbb"; : } : 这样就要占掉六行 : 所以我通常都是写 : String a= con ? "aaa" : "bbb"; : 从五行变成一行 : 在我看来简洁又方便 : 但最近给一个资深前辈code review的时候 : 他说不要用三元判断式 : 因为不好阅读 : 他工作那麽久也从来不用三元判断式的 : 而且java有很多套件都可以用来取代三元判断式 : 所以用三元判断式真的不好吗? --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.37.200.26 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1672076525.A.678.html
1F:推 jason222333: 这是最恰当的用法 12/27 06:20
2F:推 Jichang: 那个就是bool 你举switch 的case 造你这说法 if 也要禁 12/27 06:47
3F:→ Jichang: 用 12/27 06:47
说到 if else 刚好也在同一次讲到,书中一段将许多 if 转成 guard 的部份, 我翻了一段有大量前置条件要判断的 code if ... return ... 十几个 early return 加一加也 50 行咧 不过又没有将它们转成 guard 的动力, 另外禁用这词可能太严重, 或许该说是尽量避免容易让程式变复杂的做法, 以及多在动手前先想想有没有更好的做法
4F:推 wulouise: 不懂你说的guard是什麽意思,Early return另一个名称不就 12/27 11:40
5F:→ wulouise: 是guard clause?把n个early return变一个? 12/27 11:41
6F:→ wulouise: 没有profile就做最佳化等於是浪费机会成本.. 12/27 11:42
是再包出去当後端 api 的 filter/guard 的意思,会再让主要项目明确一点, JAVA/PHP 叫 filter,nodejs 的 express 算 middleware, nodejs 的 nestjs 有个 Guard (目前在写 nestjs) 或者也可以包一个 validate/guard function/class 出去 跟效能无关,算是程式格式编排的调整, 目前是 50 行的 guard clause 後面接着 20 行的主要行为, guard 比行为本身还多 XDD 但是包出去就得处理中间共用变数的传接,有点花大工做小改善的感觉, 所以不太想做
7F:推 viper9709: 推明确非A即B的情况+1 12/27 16:47
8F:→ justben: 不懂这有啥好吵 规定特殊写法一率注解就好了啊 12/27 18:38
9F:→ justben: 要秀可以 麻烦注解 done 12/27 18:38
同意没什麽好吵的,别人的意见当参考就好, 就好像有一种饿叫阿骂觉得你饿, 有一种单纯叫 Martin Fowler 觉得单纯,还觉得很不错写进书里推广, 可是有些人觉得不要用比较好 选择适合自己的做法就好 ※ 编辑: lovdkkkk (114.37.196.215 台湾), 12/27/2022 23:33:34
10F:推 ohmylove347: 楼上不是,你会说的没啥好吵的,是因为只要有一套「 12/28 09:23
11F:→ ohmylove347: 统一做法」那就不会有争议,但现在的问题是如果要有 12/28 09:23
12F:→ ohmylove347: 一套统一做法,那是哪一套?统一做法能解决大家都知 12/28 09:23
13F:→ ohmylove347: 道,有争议的是该用哪个做法来统一 12/28 09:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP