101
8355 2023-06-16 11:16:13 +08:00 1
代码量如果不影响性能而更容易理解肯定更好
|
102
ateist 2023-06-16 11:16:40 +08:00
这种代码在 idea 里面可以一键转换成#14 的写法
|
103
hayvane 2023-06-16 11:18:41 +08:00 1
老鸟和菜鸟都可能会这样写,因为会预判这里很大概率会新增类型
个人感觉没啥大问题,谈不上烂,只是没有注释对 2 的定义是个问题 |
104
Arrowing 2023-06-16 11:19:39 +08:00 1
说实话我喜欢用三元,但这个也很正常,没啥好笑的,golang 里都没三元可以用。
|
105
XSDo 2023-06-16 11:20:20 +08:00 5
特别讨厌一句代码实现很多功能的,例如 lambda ,写的时候很爽,出 bug 的时候,报个空指针异常,行数就是同一行,很难判断是那个空指针,反正我直接要求尽量不要写 lambda 代码,除非你能确保它永远不报错出 bug ,无论写得是否优雅,编译器都会做编译优化的,在我看来简单易懂最重要。
|
106
henryhu 2023-06-16 11:22:04 +08:00 4
我经常被年轻人喷:用命令行多麻烦,在网上找个图形界面多方便。我都说:对对对,回头我找找。
|
107
AirBai2 2023-06-16 11:22:42 +08:00 1
其实我想说,这样写挺好的
|
108
wangerka 2023-06-16 11:23:39 +08:00 1
根据这点代码无法推测别人的实际能力,产品经理的水平参差不齐,遇到那种动不动就改需求的产品,谁还愿意费心思去“优雅”
|
109
yoyoluck 2023-06-16 11:24:15 +08:00 1
其实我觉得在代码挺好 OP 嘲笑 有没有给出更好的代码
channelType 应该不只是 2, 阿里的短信服务 /腾讯的短信服务 channelType 值可能不一样 |
110
Mexion 2023-06-16 11:25:00 +08:00 1
op 可能刚上班,这有啥好笑的?
|
111
AlpacaCode 2023-06-16 11:26:12 +08:00 1
如果以后 channelType 的规则又增加了呢
|
112
2n80HF9IV8d05L9v 2023-06-16 11:29:45 +08:00 1
代码质量只取决于理解起来需要花多长时间.
|
113
wudi77 2023-06-16 11:30:45 +08:00 1
不是很好吗,清清楚楚,方便其他人迅速理解啊。
|
114
chunqiuyiyu 2023-06-16 11:30:47 +08:00 1
简单,清晰可扩展,我大声叫好👏
|
115
lakehylia 2023-06-16 11:30:54 +08:00
2 是啥?给个注释或者把 2 写成枚举吧,不然谁看得懂。。。
|
116
suyuyu 2023-06-16 11:33:21 +08:00
我没进来就只到评论区会说什么
|
117
hxysnail 2023-06-16 11:34:06 +08:00
让我比较诧异的是,居然这么多人说挺好的,前辈真多……
这个事得分开看: 客观上:前辈要干的事本质就是 #14 楼说,这样写显得有点业余。说句不好听的,就是脱裤子放屁,放个屁需要脱裤子吗? 主观上:你也不要太较真,他愿意放个屁都拖裤子,那是他的事……你也拦不住不是? |
118
mohulai 2023-06-16 11:34:11 +08:00 2
我从早晨就看到这帖子了,没看出问题在哪里,心很虚,都没敢说话,刷新了好几次看别人的评论,原来这就是所谓的问题?
写法的事完全看个人喜好,三元,lambda ,别的乱七八糟语法糖,还是 if else 。我反正是喜欢 if else ,因为调试方便。这也能算笑点的话那是真脑残,没啥好辩的。 我更想说说写死的 2 ,好多人说这种写法不规范,要如何如何改之类的,确实。但是好多时候代码不是一个人写的,自己想写规范很容易,但处处都是这种 2 的时候,折腾不过来,索性别人怎么写我就怎么将就着用,倒真不是那个人水平有问题。用 2 是一直在屎海中淡定漂流的状态。 |
119
jiahailiang22 2023-06-16 11:34:18 +08:00 1
你在笑什么 ? 能展开说说吗? 说一下你的观点,和笑点
|
120
hu1e 2023-06-16 11:35:44 +08:00
直接设置一个 isSms 的 computed 不就好了吗
|
122
w88975 2023-06-16 11:41:12 +08:00 1
你猜它为什么===2 ,你猜以后会不会有===3 ,4 ,5 ,6 的情况?代码看得懂就行了,以前我也追求各种代码技巧,看上去逼格特别高,实际没啥用,除了字数能少点,跟 if else 没什么太大的区别,if else 至少还清晰好理解。老老实实写的代码,方便自己也方便后人
|
123
roycestevie6761 2023-06-16 11:41:50 +08:00 1
这什么语言代码。这语言开发都在卷语法吗,我觉得这种 if else 对不会这门语言语法的也看的明白,挺好的呀
|
124
fan123199 2023-06-16 11:42:27 +08:00 1
你见过 3 个三元运算符组合的情况么,以前我觉得代码精简,lint 通过,完美。现在发现还是 if else 易懂,当时太年轻。
|
125
strive 2023-06-16 11:43:47 +08:00
还行吧 虽然从 clean code 角度来说,精简比较好;但业务代码更偏重稳定可靠易维护
|
126
messaround 2023-06-16 11:46:21 +08:00 1
简单易懂,不费脑子。
|
127
windyboy 2023-06-16 11:46:22 +08:00 1
其实作为公司产品,代码首先是逻辑没有问题,其次是可阅读,可测试
有一些作为炫技的东西,真的最好别出现在产品里 |
128
liangch 2023-06-16 11:46:40 +08:00 1
对于解释器 /编译器来说都一样。
看上去直观多了。 |
129
boatrain1111 2023-06-16 11:46:43 +08:00 1
go 表示这才是正确写法
|
130
buffzty 2023-06-16 11:47:13 +08:00
工业垃圾
|
131
horizon 2023-06-16 11:47:24 +08:00 1
别的不说,vue2 是真垃圾
|
132
devfeng 2023-06-16 11:48:03 +08:00 1
如果以前有别的 else 的话我会倾向保留成这样而不是替换成三元运算,git blame 追溯比较方便
|
133
zy0829 2023-06-16 11:49:13 +08:00 1
请问这代码有什么笑点
|
134
lilei2023 OP 好多人问笑点,那就是:看到我刚写代码的样子
|
135
ma836323493 2023-06-16 11:52:24 +08:00 1
目测楼主工作经验 1
|
136
yzbythesea 2023-06-16 11:53:43 +08:00 1
有问题吗?
|
137
dongtingyue 2023-06-16 11:58:12 +08:00 2
no be be ,摆上代码来。
看了回复也就改 computed ,以及三元替代。没看到改出啥花来。 |
138
shoco 2023-06-16 11:59:13 +08:00 1
简单易懂的代码才是好代码,代码只是实现需求的工具,不要在使用工具上花太多时间
|
139
ytll21 2023-06-16 11:59:23 +08:00 1
楼上一大堆说这段代码没问题,可读性强的兄弟们,想过这个问题没有?
你们觉得的可读性,可能只是因为读的人水平太差了,导致还需要迁就他们? 就这么一句话就可以的代码,还要写这么多行? 越多的代码,就代表有更多的可能出错。更好的封装,减少不必要的变量,这才是优秀的代码。 |
140
ccraohng 2023-06-16 12:00:02 +08:00
无法认同前面赞成前辈的人,纯纯 cg
|
141
hello2090 2023-06-16 12:01:06 +08:00
@iapplebear 三元?
|
142
christin 2023-06-16 12:02:14 +08:00 2
我还以为多大的问题呢,就是 if else 改成三元啊。
「你们前端真是太强啦」 |
143
Constellation39 2023-06-16 12:03:03 +08:00 1
p 主贴一段自己写的呗
|
144
gzf6 2023-06-16 12:03:06 +08:00 via Android
我可能会定义个数组,用 includes 判断,优雅和扩展兼得
|
145
ytll21 2023-06-16 12:04:36 +08:00 2
另外,我一点也不觉得这段代码的可读性在哪里。业务逻辑看的出来吗? ChannelType = 2 凭什么就是 SMS 了呢? 2 是什么意思?
代码的可读性是指的能体现业务的可读性,不是说代码要写成初学者的代码水平,才叫可读性。那样的话,工作 10 年的和才工作的人区别在哪里? |
146
janwarlen 2023-06-16 12:06:36 +08:00 1
代码的理解成本越低,就越好
并不是越优雅越好 当然,在满足业务需求性能需求的前提下 |
147
learnshare 2023-06-16 12:08:18 +08:00
>“有一个能跑就行”
有不少优化空间,但并不值得嘲笑 |
149
mousekiller 2023-06-16 12:39:09 +08:00 1
能跑就可以
|
150
techmale 2023-06-16 12:44:14 +08:00
改写 2 为常量
|
151
Norths 2023-06-16 12:45:28 +08:00 via Android
额
|
152
zhuzhibin 2023-06-16 12:49:16 +08:00 via iPhone 1
不能用?
|
153
haha512 2023-06-16 12:52:40 +08:00 1
没啥可笑的,不少公司 kpi 就有代码行数一项。再说这个除了行数多一点外,没啥缺点
|
154
xiaofeifei8 2023-06-16 12:52:55 +08:00 1
嘲笑别人不好,若干年后别人拿你的代码放 v2 上说:“分享一段我司前辈的代码,哈哈!”
|
155
justin2018 2023-06-16 12:54:26 +08:00
刚刚工作的时候 也觉得项目代码不行
直到自己写的代码 别别人接手 也被说 垃圾 其实 没啥 能跑通 不报错就行 ~~ 现在接手的一个 N 手项目 都不知道怎么写了 直接复制粘贴 就完事儿 早点下班 回家打游戏多好 😁 |
156
lovedebug 2023-06-16 12:54:54 +08:00 1
竟然这么多人还觉得简单易懂。。。
本来一句话简单易懂,还拆成四句,不是搞笑么。。。 |
158
rockagen 2023-06-16 12:58:42 +08:00 via iPhone 1
年轻人还是要提高自己的姿势水平,不要一天到晚哦搞个大新闻,把别人批判一番,你这个行为啊,毕竟 too young ,上台拿衣服,識得唔識啊
|
159
ljtnine 2023-06-16 13:01:05 +08:00 1
你笑前辈前端写的菜,前辈 golang 玩的 6
|
160
lilei2023 OP "哈哈" -> 嘲笑,那下次我不用"哈哈",用"呵呵"
|
161
happinessnch 2023-06-16 13:02:06 +08:00
如果有人提了一个不值得一提的问题,那么这个提问题的人比这个不值得一提的问题,更有问题。
|
163
nightwitch 2023-06-16 13:05:17 +08:00 via Android
大概率以前有别的分支啊,==1/2/3/4 之类的
|
164
lmmlwen 2023-06-16 13:08:32 +08:00 1
笑死 一看就是没接触过大型项目的 耍花活一般是初级程序员的特点
老鸟最喜欢的就是 if else |
165
rpish 2023-06-16 13:12:51 +08:00
用 constant+ternary 会好很多,代码量,可维护性,可读性都会有提升。
|
166
hussar 2023-06-16 13:13:00 +08:00
刚做实习写过这样的代码,被 mentor 打回了。
应该写一个枚举的 map 定义好这些的常量 |
167
nitmali 2023-06-16 13:15:59 +08:00
类型不可控双等号挺好的
|
168
angrylid 2023-06-16 13:17:20 +08:00 via Android 2
@lilei2023 楼上一片还在说用不用三元都给我看呆了。我觉得你前辈这段代码没有楼上一些人好笑。
|
169
superedlimited 2023-06-16 13:19:15 +08:00 1
@shyrock 箭头函数是 es6 的基础啊,怎么能用文言文来类比呢?没有箭头函数,难道一个项目里写几万行 var that = this 吗?
|
170
Ayanokouji 2023-06-16 13:22:22 +08:00
不知道有什么好洗的,这代码就是烂
|
171
justfindu 2023-06-16 13:22:55 +08:00 1
这代码看起来都不需要注释, 看起来也没有影响性能, 为啥要笑? 是因为行数短占容量少就更好吗?
|
173
idealhs 2023-06-16 13:27:26 +08:00 1
V2 大众水平底裤掀喽~
|
174
msg7086 2023-06-16 13:29:54 +08:00
我就是来看看有多少人提三元的……
|
176
NoOneNoBody 2023-06-16 13:31:14 +08:00
此帖算不算内卷?
|
177
Asuka0947 2023-06-16 13:35:17 +08:00 1
我会直接赋值,但是你就说能不能用吧?
|
178
tiaod 2023-06-16 13:36:40 +08:00 1
1. 代码是写出来是给人看的,附带能在机器上运行
|
179
1016 2023-06-16 13:37:07 +08:00
@caoguanliyuan #60 他是==又不是===怎么死?
|
180
fancy2020 2023-06-16 13:38:07 +08:00 1
真心请教,这段代码咋滴了?哈哈的点在哪里,能否解释清楚?
|
181
gitjavascript 2023-06-16 13:43:27 +08:00
反正要是我写那个 2 肯定是用变量或者枚举代替
|
182
THESDZ 2023-06-16 13:47:00 +08:00 1
很明显,这个是业务上,极有可能需要根据 channelType 的不同,在数据层面做更多的变化,而以前的设计可能针对 sms 这种渠道做了非常定制的操作,那么交付压力来了,未来有可能有问题,那怎么办才好呢?
而且这里的命名真的挺干净的,我喜欢这种 |
183
kuxuan 2023-06-16 13:47:49 +08:00
懒得研究,多去搞钱啊。
|
184
markzyh 2023-06-16 13:48:22 +08:00 1
以前看别人写的代码也会觉得烂,想改。后来遇到具体业务场景才感觉到,简单易懂的代码就不是烂代码。图上的代码顶多是不够简洁,烂谈不上
|
185
azui999 2023-06-16 13:52:09 +08:00
谁看自己以前写的代码谁不想笑啊,不过嘲笑别人就没啥意思了
|
186
potatowish 2023-06-16 13:53:18 +08:00 via iPhone 1
很多源代码都是这么写的,考虑的是方便维护
|
187
zzlit 2023-06-16 13:54:31 +08:00
如果说可以优化的话改成这样(不考虑 computed 的话)? this.isSms = channelType === 2 ,当然也可以把这个 2 列为枚举值,不懂楼上提到的三元。另外有请教一下前辈魔法数字是什么问题?
|
188
wtsamuel 2023-06-16 13:55:08 +08:00
如果多个变量,为啥不这样写 channelType === 2 || channelType === 3
|
189
afx 2023-06-16 13:55:26 +08:00
一句话就能写明白,分太多行反而啰七八嗦,这就是问题。this.isSms = channelType == 2; 就完了,沟通也讲究简单高效。
|
190
zzlit 2023-06-16 13:56:10 +08:00
|
192
lovedebug 2023-06-16 13:59:18 +08:00 1
|
193
cdswyda 2023-06-16 14:01:35 +08:00 1
没看懂想表达啥
|
194
cbythe434 2023-06-16 14:02:33 +08:00 1
抵制三元
抵制 lambda 抵制闭包 抵制 perl 遗毒 define private public 从我做起 永远支持 php |
195
najunuoyan 2023-06-16 14:04:18 +08:00 1
看了这么多楼,可读性没有一个能明显超过前辈的
|
196
weijancc 2023-06-16 14:04:20 +08:00
这个评论区给我看懵了, 竟然觉得这样没问题
|
197
UxwVI042kEc5pNx6 2023-06-16 14:05:47 +08:00
安静! PHP 是世界上最好的语言!!!
|
198
wanguorui123 2023-06-16 14:08:14 +08:00
代码不行怪路不平
|
199
HAYWAEL 2023-06-16 14:08:56 +08:00 1
更多的可能是里面之前有很长的逻辑,后来需求变了。也懒得处理其他方面,直接返回了
|
200
zimusjw2019 2023-06-16 14:12:01 +08:00 1
程序是给人读的文章, 他只是恰好能运行..
|