<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
可以删掉,但他认为很直观没问题。
我觉得只是单纯再包一层函数直观但没啥意义,更倾向删掉。
![]() | 1 12tall 2020-06-23 11:21:53 +08:00 个人倾向于删掉,后面有需求可以再加上(doge |
![]() | 2 chaos1019 2020-06-23 11:22:41 +08:00 我觉得不算 |
3 oliverchen 2020-06-23 11:44:29 +08:00 ![]() 很直观没问题。 “很直观”就是个意义。 |
![]() | 4 dumbass 2020-06-23 11:53:01 +08:00 如果按钮还要做`unsubscribe()`之外的操作,或许就不冗余了 |
![]() | 5 mikoshu 2020-06-23 11:53:31 +08:00 看习惯吧 我个人是会删的...减少代码量哈哈哈 |
6 axeprpr1 2020-06-23 11:55:13 +08:00 6 |
![]() | 7 xiaoming1992 2020-06-23 12:10:57 +08:00 via Android 这样子语义更明晰吧 |
![]() | 9 bQ3u9RAQt4125PUK 2020-06-23 12:21:04 +08:00 ![]() 直观是啥意思? 看不懂 HTML 里面的那四个“点击重试”四个大字非得用一个 function 名来把它翻译一下么? 你们团队里有外国人? |
![]() | 10 pinkSlime 2020-06-23 12:48:37 +08:00 我感觉吧 这种有别人强烈自我风格表达意愿的代码 如果不是违反你们公司的规范的话 还是不要提的好 回字的四种写法 没有绝对的是非对错 而在你的队友看来 你是在否定他的审美 就好比: 你怎么穿这双鞋 奇丑无比 没有实质收益还挺容易得罪人 何苦来着 |
![]() | 11 xingyue 2020-06-23 12:53:36 +08:00 |
![]() | 12 zjsxwc 2020-06-23 13:11:59 +08:00 我倾向于套个娃 |
13 ChanKc 2020-06-23 13:17:53 +08:00 via Android 倾向于不删 |
14 zhuweiyou 2020-06-23 13:27:01 +08:00 看情况,如果 tryAgain 还要做别的事情,那就有意义。 |
![]() | 15 bnm965321 2020-06-23 13:41:12 +08:00 unsubscribe 之后不应该重新 subscribe 吗 |
16 mmlovely 2020-06-23 13:43:49 +08:00 见仁见智,个人认为没什么问题 |
![]() | 17 yiyi11 2020-06-23 13:45:01 +08:00 via Android 但问题是,冗余≠多余,冗余设计为了维护扩展,那是可行的。 如果真要较真,应该举证,根据业务需求的复杂度,认为绝大部分情况不需要在 tryAgain 中写额外逻辑,即 undescribe 的逻辑足够简单且能表达整个操作的意思,那就不需要该冗余。 |
![]() | 18 yiyi11 2020-06-23 13:45:54 +08:00 via Android 上面写错了,是 unsubscribe |
![]() | 19 lcs1998 2020-06-23 14:06:24 +08:00 这个还得看你们之后是不是要在这上面拓展功能了 |
![]() | 20 Mutoo 2020-06-23 14:29:08 +08:00 这不只是冗余,还是脱裤子放屁。 |
![]() | 21 UIXX 2020-06-23 14:33:46 +08:00 ![]() 这是代码风格的问题,只要该程序员写的代码风格一致即可。 |
![]() | 22 no1xsyzy 2020-06-23 14:37:11 +08:00 |
23 sonice 2020-06-23 15:17:44 +08:00 点击重试和 unsubscribe 有逻辑关系吗? 如果根据上下文工作流程已经很确定了,重试就一定是 unsubscribe,那去掉没毛病。 还有其他人有提到的业务扩展的问题。 review 代码不都是走过场吗?只要功能保证,没有明显的逻辑错误就行,你这样搞是会没“朋友”的 |
24 swirling 2020-06-23 15:58:42 +08:00 Verbosity is not a bad thing. |
![]() | 25 atwoodSoInterest 2020-06-23 16:02:11 +08:00 不冗余 按钮的显示是“点击重试”,但是实际执行的方法是 unsubscribe,意义其实是不对等的。 这个调用的意义就在于说明,重试的内容是取消订阅。 |
![]() | 26 yinjunjian0 2020-06-23 16:49:32 +08:00 删 按钮的方法名是 tryAgain,看方法名实质不知道重试什么 换成 unsubscribe 语义更明确 |
![]() | 27 asLw0P981N0M0TCC 2020-06-23 17:20:20 +08:00 万一 tryagin 里后期还要加别的操作呢 不只是 unsubscribe 呢 |
![]() | 28 Lanayaaa 2020-06-23 17:36:50 +08:00 ![]() 如果明天 PM 就给你提个需求让在 tryagain 里多一个操作, 就有意义了。 简单的说就是赌博。 老梗了。 |
![]() | 29 cassyfar 2020-06-23 17:44:55 +08:00 不冗余。unsub 只是 try again 点下去后发生的一步。 |
30 tutou 2020-06-23 17:48:01 +08:00 不想删,因为不知道什么时候产品加奇怪的需求 |
31 djs 2020-06-23 18:11:00 +08:00 没问题吧,加入你这个 tryagain 又要加一堆奇怪的东西,就有用了,逻辑上也分离了 |
32 djs 2020-06-23 18:11:32 +08:00 听听你同事咋说,如果只是直观,我是觉得删了吧 |
33 GzhiYi 2020-06-23 18:19:17 +08:00 是我没法留下来,心里不爽。所以我选删。 |
![]() | 34 ipwx 2020-06-23 18:33:28 +08:00 tryAgain => handleBtnTryAgain 我打赌这么重命名楼上的绝对会一致赞同。 |
![]() | 35 ipwx 2020-06-23 18:35:00 +08:00 或者 tryAgain => onBtnTryAgainClick 本质上楼主的同事可能觉得 tryAgain 指的就是 tryagain 这个按钮,和 unsubscribe 不在同一层。但是楼主认为 tryAgain 语义上和 unsubscribe 在同一层。这么一种解读差别,所以带来了不同的判断。 |
![]() | 36 sugars PRO 支持语义化,我也这么写 未来点击按钮要加 loading 什么的就方便了,要想周到长远 |
![]() | 37 lewinlan 2020-06-23 19:08:29 +08:00 via Android 我认为冗余。 代码少的时候看起来好像容易拓展,等代码多了层数多了就变得难以追踪。有好有坏所以优先简洁。 不过这点小事也没必要较真…… |
![]() | 38 ShareManT 2020-06-23 21:09:36 +08:00 没用的代码就得删除 |
![]() | 39 IvanLi127 2020-06-24 08:59:41 +08:00 via Android 取决于你们写不写注释咯,不写的话保留这个方法还是有必要的 emmm |