求推荐下成熟项目的 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 规则可以让我抄一份, 不然我这样封封堵堵感觉也蛮难受的

3694 次点击
所在节点    问与答
45 条回复
wenbinwu
2022-08-26 17:46:07 +08:00
能看懂不就完了嘛
嫌弃的话看到一处改一处就是了
chaucerling
2022-08-26 17:47:13 +08:00
加 husky ,不符合规则的代码不能提交
eason1874
2022-08-26 19:41:42 +08:00
@Qy2FbR #19 我说了短的看着还行,长了才影响阅读性,你还举短的例子。。。

说它长了影响可读性,不是指用短路写法有影响,而是指用表达式的形式写条件语句有影响

// 像这样只扫一眼就容易看错
var value1 = condition1 || condition2 ? value2 : value3
condition5 && test('txtvalue', value2, value3, value4)
(condition1 === 'hello' || condition2 === 'world!') ?
test('statement', value1) : test2('statement', value2)

// 而常规写法,扫一眼开头的关键字就知道哪里是条件语句,不需额外的反应时间
var value1 = condition1 || condition2 ? value2 : value3
if (condition5) test('txtvalue', value2, value3, value4)
if (condition1 === 'hello' || condition2 === 'world!') {
test('statement', value1)
} else {
test2('statement', value2)
}
eason1874
2022-08-26 20:00:47 +08:00
@murmur #35 JSX 这类模板语言用尽量简短的语法,我倒觉得可以,JS 尽量简洁,避免大段的 JS 跟 HTML 混淆在一起。纯 JS 来说,我就觉得这样不好,把一门高级语言写出两种风格,一部分像汇编,一部分又常规语法
codingBug
2022-08-26 20:13:01 +08:00
antfu 大佬的,fork 一份或者直接用这套

https://github.com/antfu/eslint-config

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

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

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

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

© 2021 V2EX