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

2022 年 8 月 25 日
 cvooc

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

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

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

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

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

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

4432 次点击
所在节点    问与答
45 条回复
daysv
2022 年 8 月 25 日
请直接用 airbnb 的规则
cyrbuzz
2022 年 8 月 25 日
没绷住= =,笑死🤣。
wu67
2022 年 8 月 25 日
尼玛我吃着披萨差点喷键盘上了....这什么奇怪代码...
westoy
2022 年 8 月 25 日
那行是生成器生成的吧.....
molvqingtai
2022 年 8 月 25 日
airbnb
gloye
2022 年 8 月 25 日
起码会用个三目
if(value == true){

}
gauzung
2022 年 8 月 25 日
平常都是 if else ,三目能这么用真的没注意到,不过这么写应该容易被打吧
yungo8
2022 年 8 月 26 日
哈哈哈,js 就是能写出各种奇形怪状的代码
7gugu
2022 年 8 月 26 日
这第二条确实有点怪
autoxbc
2022 年 8 月 26 日
感觉就是水平有限,你把所有的路堵死,螃蟹也不能竖着走
eason1874
2022 年 8 月 26 日
我感觉不是水平问题,是个人偏好,有的人就是不喜欢循规蹈矩,喜欢奇奇怪怪的写法

if (value) alert('hello'); // 他们会写成

value && alert('hello');
Qy2FbR
2022 年 8 月 26 日
@eason1874 后面这种写法有啥问题吗
WillBC
2022 年 8 月 26 日
让他们买书看《代码整洁之道》《重构》。进行 Code Review ,不合规的代码不给合并。
eason1874
2022 年 8 月 26 日
@Qy2FbR #12 这跟楼主的例子一样,在运行上没问题,但属于是用表达式的形式写条件语句,代码短的情况看着还行,代码长的时候可读性就非常差
515576745
2022 年 8 月 26 日
后端转前端会有这种情况 比如我 🤣
dabaoziwy
2022 年 8 月 26 日
给你看看我这里的外包小伙伴写的 ts 吧
dabaoziwy
2022 年 8 月 26 日
const state = reactive<{
id: string | any
unitNo: string | any
}>({
id: '',
unitNo: ''
})
wukongkong
2022 年 8 月 26 日
@dabaoziwy 哼,any 就是好
Qy2FbR
2022 年 8 月 26 日
@eason1874 不是很同意,这种写法我在不同公司见到过很多次,个人感觉可读性反而更好。
如果你们会写
A = b || foo()
那我觉得
b && foo() 也没啥问题,都是利用 operator short circuit 而已
hervey0424
2022 年 8 月 26 日
@dabaoziwy anyscript

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

https://study.congcong.us/t/875401

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

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

© 2021 V2EX