前端是否有点卷?

2021-11-04 16:25:49 +08:00
 Features
应届生,入职某小厂,前端大概 15 人团队,lint 规则令人发指

1.比如禁止使用 for 遍历一个数组

2.缩进必须要两个空格,不能使用 tab

3.禁止使用字符串与变量进行 + 操作,必须使用``

4.禁止使用三目运算符

......

我觉得程序员也是一种创意工作吧?

现在搞得有点像写八股文

本来有些功能写起来就很费劲,好不容易想到一个办法

或者从 stackoverflow 找到答案,复制下来还不能直接用😂

搞得挺难受的

不知道大家怎么看严苛的 lint 规则的?
6738 次点击
所在节点    问与答
103 条回复
wu67
2021-11-05 15:33:42 +08:00
三元运算有点不太理解, 尽管逻辑多的时候三元会带来阅读困难, 但复杂场景可以改用其他写法, 不是禁用三元的理由.

至于 for, 前端的 for 其实有好几种. for( ; ; ) {} 这种确实不直观, for in 确实也不应该用来遍历数组. 但是 for of 可是没毛病的; 再不济还有各个高阶方法, 例如 forEach map filter reduce.

其他两个没啥毛病
xiao109
2021-11-05 15:34:44 +08:00
虽然是创意工作,但是大多数人都只是在屎山上继续搭建新的屎山而已。所以整越少的幺蛾子最好
360511404
2021-11-05 15:43:17 +08:00
前端这么可怕吗...
我写客户端的,十个 for 里面估计九个用 for in(大多数情况是快速拿数据)
三目运算更是家常便饭,比如根据 bool 返回不同的结果,一行返回就搞定了
yazinnnn
2021-11-05 15:47:47 +08:00
有这种规矩么?
if (bool) return false; else return true;
hereIsChen
2021-11-05 15:54:46 +08:00
for in 我用的不少
三目运算符只有简单的单行会用
其他的我觉得正常
ytll21
2021-11-05 15:55:36 +08:00
这种 lint 只能产出平庸的程序员。可以让出这个规矩的人看看「黑客与画家」这本书,不要给优秀的程序员套上太多的枷锁,他们懂得怎么写出让人看得懂,又漂亮的代码。
maplelin
2021-11-05 15:57:37 +08:00
@IvanLi127 #13 generator(误)
Features
2021-11-05 16:05:56 +08:00
@kidult 真就只配码畜吗?
mxT52CRuqR6o5
2021-11-05 16:09:00 +08:00
是用的 airbnb 的 eslint 规则吗
SxqSachin
2021-11-05 16:24:51 +08:00
不让 for 遍历那需要 for await of 的场景咋搞啊,遍历出来然后 Promise.all 吗?感觉反而增加了复杂度
lancelock
2021-11-05 16:25:05 +08:00
这和卷有什么关系
zhea55
2021-11-05 16:29:29 +08:00
@cyrbuzz

在 some 的 callback 里面,你可以手动控制是否返回 true 的。

你的逻辑处理完了,return true 就相当于 break 了


你的需求都可以满足。 只能说这个方法,理解起来没有那么直观。
jiayong2793
2021-11-05 16:29:45 +08:00
这和卷有什么关系
AoEiuV020
2021-11-05 17:01:43 +08:00
@TomatoYuyuko #18
> a = b && 1 || 2
我就这么用过,结果遇到 bug ,
(typeof(DEMO_MODE)!="undefined"&&DEMO_MODE === 'true') ||true
&&后面是个 false, 结果走了||里的 true ,
只好改成三目,
yaphets666
2021-11-05 17:17:04 +08:00
@ifreego 所以现在自动补全都是自动补一个 hasOwnProperty
PungentSauce
2021-11-05 17:18:56 +08:00
文作写着倒想我哈哈
哈哈我想倒着写作文
口合口合我🐘亻到 zhe 写亻乍文
sugars
2021-11-05 17:25:56 +08:00
本来觉得「卷」好像有点过了,但看到「令人发指」蚌埠住了哈,最多用「严格」比较合适。
然后其实 1234 都非常正常,15 人的前端团队其实也不算少了,为了统一这是最基本的了
lap510200
2021-11-05 17:31:13 +08:00
统一的代码机构和风格 项目大了会感觉很有意义 别人接手也快
Leviathann
2021-11-05 19:15:58 +08:00
虽然我也几乎不用 forof 但是某些需要 early return 的地方怎么办 try catch ?
还有没有三目的语言他们的 if 本身就是表达式,js 的 if 不是表达式,在一些只能用表达式的地方怎么搞?一定得 let xxx ;然后在 if 里赋值?
huxiaofan1223
2021-11-05 22:46:37 +08:00
@AoEiuV020 不是三目不直观,是有的人嵌套三目,恶心死了

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

https://tanronggui.xyz/t/813069

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

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

© 2021 V2EX