![]() |
1
BlueBing 175 天前 ![]() 写的蛮好,一眼懂。
|
![]() |
2
LeegoYih 175 天前 ![]() 嘲讽前辈,理解前辈,成为前辈。
|
3
Moyyyyyyyyyyye 175 天前 ![]() 简单逻辑简单写,还整个设计模式吗
|
![]() |
4
Jxnujason 175 天前
如果 webstorm 估计会提示,还能一键转掉
|
![]() |
5
751327 175 天前
所有这个应该怎么写?
|
7
iyiluo 175 天前 ![]() 没毛病,鬼知道 type 有多少种
|
8
iapplebear 175 天前 ![]() 没啥毛病,逻辑清晰,用三元逼格会高点?
|
9
qwertyzzz 175 天前 ![]() 又不是不能跑
|
![]() |
10
tsohgdivil 175 天前 ![]() 有啥好笑的
|
![]() |
11
sockball07 175 天前
好奇 前端都不定义常量吗 也没注释这个 2 是什么东西
|
12
meteor957 175 天前 ![]() 以前我还会看看,现在感觉好无聊... 可能是我岁数大了
|
13
lowett 175 天前 ![]() 代码配色挺好啊,看着很舒服
|
14
taotaodaddy 175 天前 ![]() 三元倒不至于,无非是
this.isSms = (channelType == 2); 说实话如果贵司考核代码行数,宁愿像你前辈那样写... |
![]() |
15
Xbluer 175 天前 ![]() 挺好的。多了几行,把逻辑运算和赋值分开,简单明了。
|
![]() |
16
Helsing 175 天前 via iPhone ![]() 有什么问题吗,除了没有把 2 定义为不可变常量
|
17
lilei2023 OP 主要是想起来自己刚学的时候,也是这样写的,猜测应该是刚入门的前辈的代码
|
18
taotaodaddy 175 天前 ![]() 魔法数字确实应该重构
|
19
vdrapb 175 天前 ![]() 整挺好,一眼就知道他要干嘛
|
![]() |
20
xujinkai 175 天前 via Android ![]() 说不定是以前有好几个 if else 现在删的就剩这个了 每一段历史代码都有一段故事
|
21
cwWqjBJJRPak 175 天前 via Android
难道你还想让他用 channelType===2 吗?!
|
22
jsrunner 175 天前
自从自己写了烂代码太多了,现在小弟不喷其他人了
|
23
thorneLiu 175 天前 via Android ![]() @iapplebear 用得着三元?😂😂😂😂
|
![]() |
25
gosansam 175 天前
应该是删了别的 else 吧
|
![]() |
26
isno 175 天前 ![]() 真没必要笑话人家,也没必要在这种小技巧上争强好胜!
|
28
lyxeno 175 天前
成为前辈!
|
29
javen73 175 天前
绩效按代码行数吗?😂
|
![]() |
30
ixixi 175 天前 ![]() 并不是几行所谓的不优雅代码 就能看出别人水平
写一堆自认为风骚的代码 对下个人来说可能就是屎山 多写几行没问题 |
![]() |
31
shyrock 175 天前
OP 把自己的版本发出来,让 v2er 对两者打分看看。
|
![]() |
32
Ricardoo 175 天前 ![]() 其实挺好的。
如果是自己的私有代码,随便使用利用语言特性,一行代码搞定. 但是如果是项目代码,一眼能让人看懂的代码就是好代码,而且这种代码方便在分支中增加逻辑,想想善变的需求,你以为前辈在初学层级,实际人家是懂业务懂代码的=。=! |
![]() |
33
angrylid 175 天前 ![]() 那么比较优雅的写法是下面这样吗?
isSms = computed( () => channelType === 2 ) |
34
lilei2023 OP 嘲笑谈不上,谁不是从 0-1 开始的,只是感慨,项目这么久了也没人加注释,没人优化
|
![]() |
35
ksco 175 天前 ![]() 楼上都给我看傻了,这都能洗?😨
|
![]() |
36
Yukiteru 175 天前 ![]() 简单易懂,没毛病。
|
![]() |
38
miaotaizi 175 天前 ![]() 代码写再好, 跟业务不匹配有什么用?
|
39
Huelse 175 天前
硬要说的话也就判等和枚举有问题,而且我记得会被编译成 this.isSms = ...
|
![]() |
40
erwin985211 175 天前
现在公司好多这样的代码 主要搞得一个组件就有 4 、500 行,看着很难受
|
41
iOCZ 175 天前 ![]() 能一眼看懂的都是好代码
|
![]() |
42
Vegetable 175 天前 ![]() 这个有很多改进的方法,但这种代码并不值得嘲笑。
这个代码足够简单,虽然写的不优雅,但是也没带来什么问题,甚至可以非常简单的改写成 computed 。写多了业务代码就会意识到,庞大的项目中,类似这种缺乏设计的细节肯定会非常多,代码最关键的是可靠而不是漂亮。如果一段不太好的代码并没有带来理解上的困难和性能上的问题,他就是标准的,合格的代码。 |
![]() |
43
caqiko 175 天前 ![]() @taotaodaddy #14 这个比 33 楼更直观
|
![]() |
44
fisherman0459 175 天前
@angrylid 只是 watch 变动, 不能 computed 依赖吧
|
![]() |
45
wulili 175 天前 ![]() 虽然一行代码能搞定
但是这种写法其实更好,不明白 OP 在笑啥。。。。。 |
![]() |
46
lincanbin 175 天前 ![]() 可能考核代码行数,我这边就是这样,代码都成屎山了。
还在坚持少写没必要代码的人可能只有我了。 |
![]() |
47
zjw7sky 175 天前 ![]() 虽然一行代码能搞定
但是这种写法其实更好,不明白 OP 在笑啥。。。。。 |
48
zsc8917zsc 175 天前 ![]() 写成#33 楼的好处是什么呢?
|
49
zj9495 175 天前
this.isSms = channelType == 2 ? true : false
你怕是没有见过这种写法的 🐶 |
![]() |
50
ksco 175 天前 ![]() 这段代码暴露出的最大的问题,是贵司根本没有任何实际意义上的 code review 。一个允许将这样的代码提交到主线的项目,我有理由详细其他的地方也是屎山,为了身心健康,快跑吧。
|
51
oatw 175 天前
楼主是不是想说用 computed ?
|
52
343 175 天前 ![]() 这么写很好,甚至推荐所有开发这样写。
因为不知道后面产品会增加什么需求,可能在这个判断条件下,还会增加非常多的代码。 |
53
wei2629 175 天前
楼主能不能贴个标准答案,我想学习下怎么写。
|
54
loveumozart 175 天前 ![]() 程序员不应该抠这些细节,这种思维方式不好
|
55
MangoCloud 175 天前 via Android ![]() 程序员就是喜欢喷别人的代码,这代码不好吗,小小年纪以为懂一点代码技巧就可以纵横江湖了
|
![]() |
56
Narcissu5 175 天前 ![]() 评论区居然这么多人没有看出问题在哪儿。。。
|
57
superedlimited 175 天前 via iPhone
@iapplebear 这是半前辈
|
![]() |
58
westoy 175 天前 ![]() 这代码挺好的啊
等增加需求出来一个 chanelType = 3/4/5/6 , 处理的东西可能不止一个 this.isSms 这段代码只需要根据情况增加块 用三元或者 map 就需要大改了 |
![]() |
59
evil0harry 175 天前
我觉得是删了 else
|
60
cwWqjBJJRPak 175 天前 via Android
@zsc8917zsc 好处就是传进来一个'2'直接死逼
|
![]() |
61
Hilong 175 天前
如果是我肯定不会写成这样,但是,别人的就随别人去吧
|
62
HENQIGUAI 175 天前 ![]() 你以为人家在第一层,其实人家在第三层
|
![]() |
63
RobbySSLu 175 天前 ![]() 尊重前辈,因为你终究会成为前辈。
|
![]() |
64
Marven 175 天前
如果你觉得有问题,你给改了就行,发到网上来,意义在哪呢,不明白 OP 在笑啥
|
65
jin7 175 天前 ![]() 简单易懂没毛病
|
66
Xianmua 175 天前 via iPhone
|
![]() |
67
7gugu 175 天前 ![]() 工资就这么多,工期就这么多,能用就行,又不是不能跑,说不定还没开发完,项目就倒闭了
|
![]() |
68
wu67 175 天前 ![]() 上面说三元的真是没眼看
this.isSms = (channelType === 2) 还有说需求增加 3 4 5 6 的, isSms 这么大个布尔值你硬是当他透明呀... |
![]() |
70
alanhe421 175 天前 ![]() 这个并没有问题
|
![]() |
71
shyrock 175 天前 ![]() @lilei2023 说实话#33 的箭头函数什么的引入了更多的语法约定,且因为这些约定不符合自然语言,反而增加了阅读者的心智负担。
比方一段使用说明,用白话现代文写出来 100 字,精炼成文言文 25 字。但是文言文版本并不能说就是好的。 |
![]() |
72
incheon 175 天前
楼主没博到认同, 有点遗憾
|
74
cwWqjBJJRPak 175 天前 via Android
@wu67 我发现很多人都没弄清一个等号两个等号三个等号的含义
|
![]() |
75
GzhiYi 175 天前 ![]() 楼上没说到重点,不过 OP 想说的重点可能也是 if else 应该换为三元运算符。但这里最重要的是没把 channelType 的值设置为常量,如果在 TS 中,应该设置为 enum ,这给接手的人怎么理解 2 是什么意思。
|
![]() |
76
Smilencer 175 天前 ![]() 简单易懂没毛病
代码炫技都是得啊施啊波 |
![]() |
78
coolzjy 175 天前 ![]() 工作经验三年内,鉴定完毕。
|
79
dbow 175 天前
业务代码是经常要改的, 给未来修改留下方便, 这是基操。
|
80
Anarchy 175 天前 ![]() 不觉得这是烂代码,ChannelType 的隐藏意义就是可能存在多种。设计这个结构是未来这段逻辑需要演变成这个结构,预先写成这样后面加功能的时候一眼就能找到位置在哪里并做修改。关于直接用数字 2 就是犯懒了,有时候逻辑简单并且后续也大概率是自己主导的代码容易这样,这算是不好的习惯吧。
|
81
MuSeCanYang 175 天前 ![]() 简单易懂没毛病
|
![]() |
82
dudubaba 175 天前 ![]() 以前觉得这种多余,直接等于 channelType === 2 这种多好,但是这个条件下还有其他赋值,代码就得改成 if else 那还不如最早就用这种。
|
83
danhua 175 天前 ![]() 感觉没什么毛病,简单易懂。或者说可以写简单点但是难懂增加不可替代性。
|
![]() |
84
LaGeNanRen 175 天前
我约了个 meeting ,下班你待一下我们聊聊
@lilei2023 |
![]() |
85
xyjincan 175 天前
改个变量名称 this.sms 咋样
|
86
rivercherdeeeeee 175 天前 ![]() 写的没有问题,记住工作和打工二码事
|
![]() |
87
hideonwhere 175 天前
弄不好原本还有别的业务然后删掉了
但是这种也不影响就是了 |
88
kuaner 175 天前 ![]() 不明白 OP 在笑啥
|
89
fresco 175 天前 via Android ![]() op 刚上班可能
|
![]() |
90
twofox 175 天前
我朋友在的公司,他们的后端提供的接口是中文的
炸裂 |
![]() |
91
HFX3389 175 天前
笑完记得改代码,别只顾着笑
|
![]() |
92
sl0000 175 天前
用 switch 效率高点
|
93
LawlietZ 175 天前 ![]() 你在嘲笑啥呢 我觉得是你年轻了。。。
|
![]() |
94
liprais 175 天前
以前不只有 channelType == 2 这一个条件吧
|
95
Aviciii 175 天前 ![]() 虽然一行代码能搞定
但是这种写法其实更好,不明白 OP 在笑啥。。。。。 |
![]() |
96
GzhiYi 175 天前 ![]() 多写一些,可能存在的问题:
1. == 符号尽量少用,这会让类型变得模糊难定,尽可能用全等。 2. channelType 应该使用常量替代,让 2 这个值更具有可读性(这个重要)。 至于楼上说了那么多的拿三元运算符替换,我觉得是不应该的。强行将逻辑 if else 变更为三元运算符,是个坏主意。 再看这个是 vue 的 watch ,除开 channelType 不一定为 2 之外,还可能在后续判断 channelType 后做一些其余的在 channelType 变更后的逻辑。 所以我的看法是,尽管有优化,但写法 if else 没毛病。 |
97
lilei2023 OP 刚才在捋 n 个前辈的代码,还是继续堆💩山把,跑起来就行,不管那么多了
|
98
fao931013 175 天前
可以改 但没有必要
|
![]() |
99
newmlp 175 天前 ![]() 简单易懂
|
![]() |
100
finab 175 天前 ![]() 菜鸟程序员会这样写
中等程序员会直接赋值 经验丰富的程序员会回到这种写法,这样是理解成本最低阅读障碍最小甚至不用思考就能看懂的写法 这段代码里魔法数字的问题,比这个要严重的多,最应该改的不是 if else 而是这个 |