我是写 java 的 由于 dalao 觉得我工作不饱和 帮公司前端写一些需求
写就写吧 : /
把项目 clone 下来瞬间难受了
没有文档
没有注释
没有测试
甚至连 eslint 都给禁了 (扣题,.eslintignore 里面 ignore 了 src 所有的东西
这么大个项目能做成这样我也是醉了
到底是什么东西能驱动着他们还在写..
到底是什么东西能证明这玩意能用...
偷偷放个统计结果
$ cloc --exclude-dir="node_modules" .
805 text files.
774 unique files.
39 files ignored.
github.com/AlDanial/cloc v 1.82 T=1.47 s (522.6 files/s, 111166.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Vuejs Component 304 1797 4445 86097
JavaScript 415 7905 9456 45512
LESS 37 267 389 5583
CSS 4 150 133 1063
JSON 4 0 0 292
SVG 2 0 0 235
Markdown 1 10 0 20
HTML 1 0 1 10
-------------------------------------------------------------------------------
SUM: 768 10129 14424 138812
-------------------------------------------------------------------------------
1
cuzfinal 2019-06-21 10:55:00 +08:00 1
我们也是,没有文档、没有注释、没有测试、没有 eslint
|
2
murmur 2019-06-21 10:55:46 +08:00 2
我们也禁了 eslint,文档有、注释有,没有单元测试
|
3
CliCli025 2019-06-21 11:02:37 +08:00
nuxt 打包一次 20 多秒..... 还在艰难的使用中
|
4
npe 2019-06-21 11:20:54 +08:00 2
其实大多盲写的时候,挺烦 eslint 的。
|
5
df4VW 2019-06-21 11:24:30 +08:00
前端项目现在测试真的已经很幸福了,jest cypress 一个个都这么好用放几年前我都想哭
|
6
KoreyHan 2019-06-21 11:33:09 +08:00
14424 行那个不是注释么 😃
|
7
STRRL OP |
8
FakeLeung 2019-06-21 11:44:58 +08:00
我们也差不多,没有文档,没有注释,没有测试,有 eslint。
|
9
drydiy 2019-06-21 11:48:06 +08:00 2
eslint 真的不能禁。对于说 eslint 烦的,vscode 可以保存自动修正的。并不是问题。
|
10
wengjin456123 2019-06-21 11:51:28 +08:00
估计没 prettier 吧
|
11
agdhole 2019-06-21 12:09:39 +08:00
eslint 可以写到 webpack 然后自动 fix,不过很多人不研究就禁了,然后抛弃一切工具写着原始代码骂前端真浮躁,还是 jQuery 好(😀
|
12
STRRL OP @wengjin456123 eslint 里有 prettier, 但是配置了.eslintignore..
我自己编辑器了装了 prettier 但是也不敢按格式化, commit 的时候变化太多 .. |
13
skyrem 2019-06-21 13:09:34 +08:00
你见过 ```var a = b; reutrn a;```这种骚操作吗。。。
|
14
impl 2019-06-21 13:14:33 +08:00 via Android 6
有些人就是喜欢在屎堆里打滚。
|
15
kvker 2019-06-21 13:18:00 +08:00
独立开发:文档+注释,不用 eslint 与测试。
|
16
version 2019-06-21 13:23:57 +08:00 via iPhone
如今的前端 90%都是毒瘤,更加坚持能跑就行,优化啥的不会考虑的,加载大小也不会优化的,习惯就好,因为这一切他们只会埋冤客户机器烂,自己的没问题就好,有问题说没机器复现的多,久了就是一坨烂代码,比 jq 年代写得还差
|
17
sugars 2019-06-21 13:25:30 +08:00
我想问,公司一个前端,有必要用 eslint 吗
|
18
WittBulter 2019-06-21 13:28:13 +08:00 10
@sugars 有,自律即自由。
|
21
wengjin456123 2019-06-21 13:40:05 +08:00
@STRRL 项目不规范确实很麻烦,我们项目最大一个 class 7000 行代码,不过一直遵守 airbnb 的 eslint 规范,随便格式化
|
22
azh7138m 2019-06-21 13:41:46 +08:00 13
@version 如今的安卓 90%都是毒瘤,更加坚持能跑就行,优化啥的不会考虑的,APK 大小也不会优化的,习惯就好,因为这一切他们只会埋冤客户机器烂,自己的没问题就好,有问题说没机器复现的多,久了就是一坨烂代码,比塞班年代写得还差
:doge: |
24
hronro 2019-06-21 14:01:00 +08:00
六字真言:要么忍,要么滚
|
25
version 2019-06-21 14:02:09 +08:00 via iPhone
@azh7138m 客户端就很多了,所以市面上好用的应用都是个人开发的多,小团队开发的也多,上了企业都是死亡 app 也很明显,都是外包成分各种内嵌开发,手机上没安装过几个软件,最毒瘤就是钉钉了,能恶心你一辈子
|
26
toku 2019-06-21 14:06:42 +08:00
我们前端也是,只有代码。。而且还不是好代码
|
28
jydeng 2019-06-21 14:13:44 +08:00
新入职公司,最近正在弄这些东西,eslint 和单元测试
|
29
zhw2590582 2019-06-21 14:23:12 +08:00
我也不写文档、注释、测试的,想用的话就大概看一遍整体结构就上手了
|
30
STRRL OP @zhw2590582 唉 功力不够实在是无奈 138K 行代码实在是太多了
|
31
LeroyMooney 2019-06-21 14:37:30 +08:00
舒服了,之前不知道同事把我的 eslint 加了*,现在我关闭了,一个一个修改 :doge
|
32
xianxiaobo 2019-06-21 14:56:55 +08:00
eslint 这个东西用起来真的很恶心啊。
|
33
xianxiaobo 2019-06-21 15:00:56 +08:00
我们也是,没有文档、有注释、没有测试、没有 eslint。很正常啊,算不上骚操作。
|
34
whypool 2019-06-21 15:11:55 +08:00
eslint 恶心+10086
用文档约束比较好,用这玩意编译不合规就直接报错,首先去检测的错误肯定是 js 语法,结果一查是这玩意 已经成功的在团队干掉了这智障玩意 |
35
likaka 2019-06-21 15:17:47 +08:00
关键是客户满意
|
36
momocraft 2019-06-21 15:18:24 +08:00
这东西开哪些规则是可以配置的,还可以配合 fixer / prettier
其实 lint 没遵守至少你还知道,文档么看心情了 |
37
moocean 2019-06-21 15:40:20 +08:00
我就一个前端,配置一个统一的格式化还可以
|
38
moocean 2019-06-21 15:46:01 +08:00
注释还是有的,每次编译大概 20 多个警告,懒得一一修改了,2 周一个大跌带,我一个人也闲不了
|
39
hyy1995 2019-06-21 15:46:14 +08:00
eslint 恶心继续+1。。。楼上还有老哥直接开炮 90%的前端都是毒瘤了?
|
40
litpen 2019-06-21 15:47:44 +08:00
用 TS 结合 TSlint 可以代替 eslint 和测试了
|
41
shanhegu 2019-06-21 15:50:15 +08:00 via Android
拿人工资,写人代码
|
42
otakustay 2019-06-21 15:51:21 +08:00
我想具体听听 eslint 恶心在哪里……
|
43
somethin 2019-06-21 15:51:32 +08:00 8
是的,不用 lint 的前端都是毒瘤
|
44
roscoecheung1993 2019-06-21 15:51:38 +08:00
@whypool 那如果团队成员不按文档执行呢?怎么知道团队成员有没有按文档执行呢?
|
45
freak118 2019-06-21 15:55:36 +08:00
前端项目都没有单元测试可能就是现在大部分的开发现状吧
|
46
toma77 2019-06-21 15:56:01 +08:00
多人协作还是推荐使用 TS,定义公共组件、接口、数据类型等等,vscode 还有个插件,保存的时候会自动转换成推荐的写法,比如你写一个函数类型(type),如果插件觉得更适合用接口会自动改成(interface),多人协作很爽呀~
|
47
mota 2019-06-21 15:56:40 +08:00
喷 eslint 恶心的有点没懂。这东西遵守起来也不难,也不复杂。
|
49
STRRL OP @litpen @roscoecheung1993 我也是想用 TS 的, 无奈不是我住到的项目
|
50
rxdey 2019-06-21 16:01:45 +08:00
lint 配上保存自动修复挺舒服的呀
|
51
kxxoling 2019-06-21 16:05:51 +08:00 1
eslint 不是基本要求吗? 2019 年了还需要讨论 eslint 是否有必要的问题吗?
|
52
tuomasi 2019-06-21 16:06:12 +08:00
要么忍 要么滚 去谷歌找存在感去啊
|
53
Elephant696 2019-06-21 16:12:14 +08:00
大家好,我是毒瘤
|
54
zhwithsweet 2019-06-21 16:12:30 +08:00
@STRRL #49 直接上,能混着写
|
55
zhwithsweet 2019-06-21 16:14:03 +08:00 1
想我一样,脱离 eslint 也能写出风格极其统一的代码就行了(🐶
|
56
cutlove 2019-06-21 16:14:53 +08:00
没进来之前我就知道,这个帖子会变成讨伐所有前端,似乎“前端”在有些人眼里就是脏乱差的代言词
|
57
whypool 2019-06-21 16:20:24 +08:00
@roscoecheung1993 代码抽查,命名,注释,缩进,必须按文档来,组件和 css 相对宽松,单元测试不用写,因为有自动化测试,包括 ui 自动化
新人有 2 周适应期,会安排熟悉文档和 demo 工程,并完成安排 demo 工程任务,这个提交的代码会审核 如果审查过后还会犯错,情况严重会离开项目组(并不是辞退,而是转移到维护组,目前还没有这样的情况发生) 抽查机制很简单,由小组 leader 随机抽取 git 提交的代码片段,如果发现不规范直接显示提交人就行,周期大概是 3-5 个月,可能更久(一般是有时间 review,能发现就跑不掉),抽查的代码不局限于最新代码,可能是最开始提交的版本 目前用的是 angular 和 vue,主要是单页和 dashboard,有原生嵌入的版本,也有单独的 hybrid 版本(ionic 开发),前端约 32 人,7 个项目组 |
58
fengxianqi 2019-06-21 16:59:38 +08:00 1
没有 eslint,回头看以前写的代码,缩进不一样,这里有个分号那里又没有分号,这里换了行那里多了好几个空行,总之看着都把自己给恶心到了,所以无论是一个人写代码或团队,都有必要用 eslint
|
59
wangcansun 2019-06-21 17:30:08 +08:00 1
我都是在项目中加上 git hooks 强制提交要满足 eslint
对于不按照规范来写公司代码的,真的觉得很毒瘤。。。 |
60
evlos 2019-06-21 17:47:24 +08:00 2
eslint 的作用是防止有人写出来的代码恶心到别人,我无法想象有人会觉得 eslint 恶心,那么他的无自知之明是到了何种程度?
|
61
MikeFeng 2019-06-21 18:34:58 +08:00 2
那些嘲笑 eslint、tslint 恶心的是不是还活在原始社会? vscode eslint 扩展 autoFix 有听说过吗?跟我写代码的不管从来不用管缩进、分号、单双引号,只要一保存文件、或者输入焦点移出 vscode 触发自动保存,统统给你格式化缩进 2 空格、删除分号、单引号。还有用文档约束的,leader 还 review 找格式问题的,我快笑尿了,这是在锻炼员工的记忆力还是 leader 时间太多
|
62
z742364692 2019-06-21 18:46:07 +08:00 via iPhone
我们没网
|
63
iugo 2019-06-21 18:47:03 +08:00 1
没想到还会有人说 ESLint 恶心, 就是 ESLint 让我坚持写 JavaScript 到现在的. 要不是因为 ESLint, 我也会成为一名 JavaScript 黑.
|
64
ioly 2019-06-21 19:12:53 +08:00
@roscoecheung1993 review 的人呢?不用 approve 就给合? CICD 吃灰了?
|
65
lguan 2019-06-21 19:23:02 +08:00
我自己一个人的项目,起项目的时候都要设置好.eslintrc,还有其它语言的 rc,自律最后得益的肯定是自己
|
66
ibufu 2019-06-21 19:55:49 +08:00 3
暗暗记下说 eslint 恶心的这些人,这种都是团队毒瘤,千万别招进你们的公司。
很多前端都没看过 airbnb 的 js 规范,更别提《 Clean Code 》了,写出来的都是啥 shit 玩意,最影响团队效率的就是你,还没一点自知之明。 |
67
ibufu 2019-06-21 19:59:58 +08:00 2
eslint 最关键的一个作用是保持代码风格一致性,在团队协作方面这比其他所有作用都重要。
|
68
royzxq 2019-06-21 20:00:29 +08:00
eslint 还是得有,而且不也蛮好用的嘛。 觉得真的受不了的规则干掉就是了,忽略所有 src/* 那可是真滴🐂🍺
|
69
kzfile 2019-06-21 20:07:53 +08:00 1
当 eslint 和 vscode 的自动格式化冲突时才是真的烦,一保存一堆错,关键又不能保证每家的 eslint 都和 vscode 的格式化规范一样
|
70
kzfile 2019-06-21 20:09:43 +08:00
我还记得我同时维护过两个项目,一个要求句尾有分号,一个要求没分号.
|
71
avenger 2019-06-21 20:12:01 +08:00 via iPhone
我爱 eslint
|
72
roscoecheung1993 2019-06-21 20:19:58 +08:00
@ioly 行尾分号、空格 /tab 缩进、对象字面量尾逗号、未使用的变量......规范全靠 review 的人肉看? CI/CD 不就是跑构建、lint 和自动化测试?
|
73
yuanfnadi 2019-06-21 20:24:12 +08:00
公司的项目都配上了 eslint。所有项目都在慢慢改成 ts。
开源项目全部加上 CI 和测试覆盖率。 |
74
lane1 2019-06-21 20:30:52 +08:00
standardJS 党 路过, 觉得很优雅 233
|
75
meszyouh 2019-06-21 20:38:59 +08:00 via Android
觉得哪天规则 sb ,禁掉就是了。忽略和全部都禁掉,真的就是
|
77
version 2019-06-21 21:38:14 +08:00 via iPhone 1
前面自己可能说得有点狠 90%,不是恶意的,我自己也写前端,只是想发泄下前端,有时候宁愿自己写 js 逻辑,eslint 现在很简单了,很多配置可以禁用,不像以前那么复杂了,大部分企业前端工作还是很吃紧,样式改动多,人少的企业开发,不用也可以,不是绝对,最好是 prettier 统一风格就好,起码阅读起来好看很多,pr 合并也减少很多冲突,前端最好是偏于简单化的代码,减少再次封装,因为大部分用第三方库都封装一层了,再次封装不利于库升级,能写出来清晰代码让新人能快速上手才是主流,说白了…公司不想给前端涨太多薪,页面毕业生能写就好,前端跑路了系统也能跑
|
78
wee911 2019-06-21 21:44:12 +08:00
前端要自律的话用 ts,eslint 就是垃圾
|
79
zlhsvc 2019-06-21 21:53:59 +08:00
JQ 党路过(本身是后端)
|
80
duan602728596 2019-06-21 22:17:34 +08:00 via iPhone
不光用 eslint,代码基本上每个片段、每个思路都会写上注释
|
81
CopyRight 2019-06-21 22:30:23 +08:00
天天瞎逼扯。
建议你司前后端互相 code review 现场撕逼。 刚正面啊。 |
82
ahjsrhj 2019-06-21 23:17:02 +08:00 2
prettier+eslint 这才是正道,禁用 eslint 写出来的东西是人看的?
|
83
CodingNaux 2019-06-22 01:13:48 +08:00 via iPhone
eslint 要啊,但是要不要上 airbnb 的 config 和 jsx11 什么的看团队了。前端测试………这个没写过
|
84
MrUser 2019-06-22 08:53:47 +08:00
@kzfile
多个项目编码风格不一样确实挺烦人,不过“两个项目一个要求句尾有分号一个要求没分号”貌似可以通过在项目根目录放置 .eslintrc 来解决? prettier 貌似也可以在项目根目录放置 .prettierrc。 |
85
MrUser 2019-06-22 08:56:08 +08:00
|
86
magicdawn 2019-06-22 09:18:30 +08:00 via iPhone
我都是 ignore all 加 !except 打开我写的文件
推不起来也没办法 |
87
wisetc 2019-06-22 09:25:40 +08:00
难受是正常的,不想看的代码却要看,不想做的事情却要干,是降低自己的标准去适应不规范不标准,还是建立一套标准,去打破这种混乱无序,it's a question. 纠结,不想付出那么多,因为付出不一定有收获,却想着让大家舒服,现实很困难,怎能不难受。
|
88
Ixizi 2019-06-22 09:59:11 +08:00
没 eslint 完全不会写代码
|
89
twocucao 2019-06-22 10:05:33 +08:00
用 prettier 直接把代码都给 format 掉就好了
|
90
xiaolanger 2019-06-22 10:22:48 +08:00
你们前端圈真的是能以任何理由撕起来啊。。。
|
91
bdnet 2019-06-22 11:33:29 +08:00
平时加班多吗?效率怎么样?
|
93
gunjianpan 2019-06-22 14:13:29 +08:00
@skyrem reutrn 可还行
|
94
skyrem 2019-06-22 14:31:36 +08:00
@gunjianpan #93 打快了 还好我有自动纠正
|
95
imswing 2019-06-22 17:45:55 +08:00 via iPhone
凭本事写的代码为啥要注释
|
96
FrankHB 2019-06-22 20:27:28 +08:00
|
97
keepeye 2019-06-22 20:49:45 +08:00
我是后端,平时也用 vue 写管理后台,赞一下 eslint,很好的工具。
|
98
ahjsrhj 2019-06-22 21:02:15 +08:00
@MrUser #85
npm install pre-commit --save-dev 之后在 package.json 里添加 { "scripts": { "lint": "eslint ./ --cache --ignore-pattern .gitignore" }, "pre-commit": [ "lint" ], "devDependencies": { "eslint": "^2.12.0", "pre-commit": "^1.1.3" } } 大致这样 |
100
applehater 2019-06-23 00:24:09 +08:00
eslint 太严格,改一下限制程度好了。
|