我很喜欢 eslint,但是问了好多人都不喜欢, eslint 这么讨人嫌吗?

2021-03-17 22:01:58 +08:00
 jameBo
9230 次点击
所在节点    JavaScript
93 条回复
ppxppx
2021-03-18 10:45:26 +08:00
ppxppx
2021-03-18 10:45:29 +08:00
yyzcl
2021-03-18 10:46:14 +08:00
不觉得 eslint 和代码质量有什么强联系
水平低的人在符合 eslint 规则下写出来的代码依旧是垃圾
不过用于团队协作还是可以避免一些低级屎山
那些屎山代码,我想大多是因为逻辑成了屎山,而不是一些代码风格,全等双等之类的区别
miniwade514
2021-03-18 10:55:43 +08:00
你问的都是些什么人
ZSeptember
2021-03-18 10:59:55 +08:00
lint 是好东西,然后为啥要求别人的认同
xiangyuecn
2021-03-18 11:00:35 +08:00
eslint 把不痛不痒的压根不是问题的问题画个红线就没有意思了,让我这种 var 关键字走天下的人情何以堪😂 此处应该被 /* eslint-disable */

idea 写 java 也是一样的卵毛病,一堆没卵用的警告把很关键甚至致命的警告给淹没了

修改配置?成本很高的,老年人不爱学习了,也很难学动。所以很大程度促进了选择性无视警告
KyrieJoshua
2021-03-18 11:01:16 +08:00
我还以为现在已经几乎没有不用 eslint 的前端了……
justsosososo
2021-03-18 11:06:49 +08:00
不, 那是他们没有追求,多人开发一个项目的时候 eslint+prettier+git 钩子可以一定程度的阻止屎山的堆积速度
TomatoYuyuko
2021-03-18 11:13:18 +08:00
写代码一小时,配置 eslint+prettier 一整天
Vegetable
2021-03-18 11:15:28 +08:00
如果团队是 PR+codereview 模型,不用 ESLINT 还能玩?张三写代码不格式化,李四改了一行代码,格式化不格式化?
不格式化怪恶心的,格式化了一提交,几百个变更。

后来 vscode 的哪个插件还做了 [仅格式化文件变更的部分] 这种功能

讨厌 ESLINT 当然是个人自由,但是为什么现在有编程语言开始内置 fmt ?因为这事儿,真的很重要。

Eslint 的规则都可以自己配置,有不喜欢的规则,团队内部直接去掉就是了,这不是工具的问题,是人的问题。
SZP1206
2021-03-18 11:17:08 +08:00
68 楼说得对。
eslint+prettier 日常使用。
jimliang
2021-03-18 11:17:50 +08:00
团队项目很有必要的,你永远不知道其他开发者有哪些奇葩的写法,甚至各种缩进不规范,一会有空格一会没空格,让人头大。
JaaaaackZheng
2021-03-18 11:27:34 +08:00
=.= 规则不是都能配置吗,鸡肋的规则去掉就完事了。既能统一好团队代码风格,还能自动格式化,为什么讨厌 eslint
libook
2021-03-18 11:38:22 +08:00
每个人对团队氛围的要求是不一样的。

很多人都不喜欢被束缚,尤其是我,所以我通常是不会用 eslint 的。

首先要明确一点:JS 是一门极其灵活的语言,一个需求可以用超多种方案来实现,但并不是所有方案都没有隐患,所以对开发者的要求很高,开发者需要有大量的经验以及良好的习惯来规避各种各样的隐患。

于是在团队协作的项目中,你会发现因为每个成员的水平不一样,并不都能驾驭好各种各样的骚操作,以及不同的编码风格可能会导致整体代码的可读性较差;
当代码问题成为阻碍产能的重要问题的时候,就需要工具来辅助:Linter

接下来是另一个共识:工具是用来解决问题的,不是用来制造问题的。

那么如何利用 ESLint 来解决团队已经遇到的问题,同时又不产生更多问题,这个不同的 Leader 可能会有不同的策略。
我的策略是做加法,即为先关闭所有规则,然后把实际代码中的问题搬到 Codereview 会上然后让团队一致同意添加相应的 lint 规则。

我会对规则进行分类:
1. 一定或在绝大多数情况下都会导致缺陷的写法。
2. 虽然不会导致缺陷,但是会较明显地影响代码的可读性。

添加每一种规则的时候,要记录有问题的代码案例,以及为什么添加这一条规则,这样新入职的员工可以参考。

最后就是,这些规则都不是一成不变的,如果随着变化使得某一条规则不再适用,可以随时讨论修改或去掉它。
kingwl
2021-03-18 13:13:26 +08:00
大多数情况下 prettier 即可,除非是 react deps list 这种
charlie21
2021-03-18 14:39:43 +08:00
不用 eslint 写出来的好代码,存在吗?是不存在的,在见不得人好的 eslint 使用者看来
zhlssg
2021-03-18 16:16:40 +08:00
eslint 不能阻止屎山堆积,但是能减慢屎山堆积的速度
还有就是从过去的经验来看,很多人都会在本地把自己 eslint 规则改掉
Marszm
2021-03-18 16:32:55 +08:00
和人合作么?合作的人牛逼么?....合作,合作的人技术不能保证..还有啥好说的,必须 eslint..

但是自己写自己用...我去 TM 的 Eslint...老子爱怎么写怎么写..我就喜欢按空格,我就喜欢定义各种变量不用..管的着么你 eslint 滚一边去.
joshua7v
2021-03-18 16:35:13 +08:00
讨厌的不是 eslint 而是不符合自己风格的规则
对于团队,不管喜不喜欢都得接受团队的规则
对于自己,有 ts,一般不需要 eslint 的约束
wobuhuicode
2021-03-18 16:54:11 +08:00
我也喜欢 eslint,但是是我自己定规则的 eslint
别人定的都是傻 X 规则……

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

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

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

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

© 2021 V2EX