求推荐下成熟项目的 vue2 可用 eslint 规则, 我要被外包兄弟的代码质量搞疯了

2022-08-25 19:01:33 +08:00
 retrocode

我已经给前端项目启用了 240 多条规则, 依然拦不住烂代码, 总是有各种奇奇怪怪的写法, 举个例子: 明明可以好好的写

this.foo = !!value 或者 this.foo = value ? true : false

他这么写我都不会说什么, 就当代码风格问题了, 他们写这样:

value ? this.foo = true : this.foo = false

orz, 我今天一天都在调规则加规则以求能把他们这种奇葩写法检测出来了

求助下大家, 有没有现成的成熟项目累积出来的 eslint 规则可以让我抄一份, 不然我这样封封堵堵感觉也蛮难受的

3441 次点击
所在节点    问与答
45 条回复
yaphets666
2022-08-26 09:38:03 +08:00
@Qy2FbR 问题很大,后面这种写法可读性不好,这不用多说。
shilianmlxg
2022-08-26 09:41:57 +08:00
@yaphets666 我一般都是 callback && callback(); // 如果 callback 存在,则立即执行 callback 方法,感觉挺方便的啊。
ruoxie
2022-08-26 09:48:47 +08:00
我司整编 jsx 里写好几层三元运算
yaphets666
2022-08-26 09:49:20 +08:00
@shilianmlxg 有 promise 我基本不用 callback 了,当然我是写业务的,不是写基建的。
w3q29
2022-08-26 09:53:34 +08:00
@dabaoziwy 写完 any 之后因为 eslint 有提示,再用注释把 eslint 提示给屏蔽掉🤣
stoluoyu
2022-08-26 10:16:05 +08:00
@dabaoziwy #17 那个这个 string 是为了……
libook
2022-08-26 10:24:29 +08:00
linter 只能搞定一些能明确识别且通常是因为疏忽导致的违规,真想提升代码质量,可能只能靠 code review……

题主发的外包这个代码,第一眼看有点懵,需要捋一遍执行优先级,会很影响看代码的效率;其实如果里面元素都用括号括好,我个人也能接受。
dabaoziwy
2022-08-26 10:53:40 +08:00
@stoluoyu 这就是我的吐槽点,乱用联合类型。。。
a33291
2022-08-26 11:40:40 +08:00
@eason1874 我也习惯后边这么写 🤣,还有其他人吗,举个手统计下


题外话,我突然有点理解为啥写 java 的会说 C#甜得齁了,因为他们限制了大家就只有一种写法.
Leviathann
2022-08-26 11:51:58 +08:00
@a33291 React jsx 以及没有 optional chain 语法的环境就得这么写
这种属于残废 js 导致的固定 pattern 写法,不是细读,而是识别这个 pattern
taotaodaddy
2022-08-26 13:10:41 +08:00
xiao109
2022-08-26 13:11:44 +08:00
学会接纳自己的屎山和别人的屎山
taotaodaddy
2022-08-26 13:13:32 +08:00
@taotaodaddy 发错了...
wuxiaoqing234
2022-08-26 13:24:59 +08:00
只许天下人负我 不许我负天下人!
murmur
2022-08-26 13:43:46 +08:00
@eason1874 jsx 习惯这样写,等价于 vue 的 v-if ,这也是我抨击 react 一点,用着奇怪的写法,连最基本的代码对齐都做不到,别人模板一条线极致的优雅,这凸出来一块一块的
gauzung
2022-08-26 14:10:25 +08:00
@a33291 #29 🙋‍♂
yor1g
2022-08-26 14:42:19 +08:00
看同事代码 idea 一片黄色 lint 一片红都不管呢 能编译能跑没 bug 啥都不是事
dsggnbsp
2022-08-26 17:07:06 +08:00
我觉得大可不必啊 存在即合理哈哈哈哈 ,而且我真的没有觉得过分奇怪。虽然我本人不会这么写
hzxxx
2022-08-26 17:26:56 +08:00
有没有可能是他们在玩你呢?
vue 源码里就挺多骚写法的,比这个骚多了
yuancoder
2022-08-26 17:40:17 +08:00
能看懂就没啥问题

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

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

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

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

© 2021 V2EX