来请教大家,这种算冗余代码吗?

2020-06-23 11:15:32 +08:00
 joooker
<template>
  <div>
    <button @click="tryAgain">点击重试</button>
  </div>
</template>

<script>
export default {
  data() {
    return {};
  },
  mounted() {
    this.unsubscribe();
  },
  methods: {
    unsubscribe() {
      // do something
    },
    tryAgain() {
      this.unsubscribe();
    },
  },
};
</script>

类似这么一段 Vue 代码,给同事 review 代码时候我指出tryAgain可以删掉,但他认为很直观没问题。

我觉得只是单纯再包一层函数直观但没啥意义,更倾向删掉。

5437 次点击
所在节点    程序员
39 条回复
12tall
2020-06-23 11:21:53 +08:00
个人倾向于删掉,后面有需求可以再加上(doge
chaos1019
2020-06-23 11:22:41 +08:00
我觉得不算
oliverchen
2020-06-23 11:44:29 +08:00
很直观没问题。
“很直观”就是个意义。
bojackhorseman
2020-06-23 11:53:01 +08:00
如果按钮还要做`unsubscribe()`之外的操作,或许就不冗余了
mikoshu
2020-06-23 11:53:31 +08:00
看习惯吧 我个人是会删的...减少代码量哈哈哈
axeprpr1
2020-06-23 11:55:13 +08:00
6
xiaoming1992
2020-06-23 12:10:57 +08:00
这样子语义更明晰吧
wxsm
2020-06-23 12:17:00 +08:00
这叫直观?惊了。

<button @click="unsubscribe">点击重试</button>
这才叫直观好吧!
zackwan95
2020-06-23 12:21:04 +08:00
直观是啥意思?
看不懂 HTML 里面的那四个“点击重试”四个大字非得用一个 function 名来把它翻译一下么?
你们团队里有外国人?
pinkSlime
2020-06-23 12:48:37 +08:00
我感觉吧 这种有别人强烈自我风格表达意愿的代码
如果不是违反你们公司的规范的话 还是不要提的好
回字的四种写法 没有绝对的是非对错
而在你的队友看来 你是在否定他的审美
就好比: 你怎么穿这双鞋 奇丑无比
没有实质收益还挺容易得罪人 何苦来着
xingyue
2020-06-23 12:53:36 +08:00
@zackwan95 #9 本来还挺纠结的,被老哥一语点醒,抱拳.jpg

ps: 如果真要表达“直观”这一层,似乎要这样写:
<button @click="handleBtnClick('点击重试')">点击重试</button>
handleBtnClick(type,...args){
switch(type){
case '点击重试':
this.unsubscribe();
break;
}
}

tryAgain 和 unsubscribe 的语义在同一层,都告诉你具体干什么;而 handleBtnClick 就语义很“直观”,我负责处理点击事件,具体干什么请去函数内找,与前两者不在同一层~
zjsxwc
2020-06-23 13:11:59 +08:00
我倾向于套个娃
ChanKc
2020-06-23 13:17:53 +08:00
倾向于不删
zhuweiyou
2020-06-23 13:27:01 +08:00
看情况,如果 tryAgain 还要做别的事情,那就有意义。
bnm965321
2020-06-23 13:41:12 +08:00
unsubscribe 之后不应该重新 subscribe 吗
mmlovely
2020-06-23 13:43:49 +08:00
见仁见智,个人认为没什么问题
yiyi11
2020-06-23 13:45:01 +08:00
但问题是,冗余≠多余,冗余设计为了维护扩展,那是可行的。
如果真要较真,应该举证,根据业务需求的复杂度,认为绝大部分情况不需要在 tryAgain 中写额外逻辑,即 undescribe 的逻辑足够简单且能表达整个操作的意思,那就不需要该冗余。
yiyi11
2020-06-23 13:45:54 +08:00
上面写错了,是 unsubscribe
lcs1998
2020-06-23 14:06:24 +08:00
这个还得看你们之后是不是要在这上面拓展功能了
Mutoo
2020-06-23 14:29:08 +08:00
这不只是冗余,还是脱裤子放屁。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX