我是写 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 ![]() 我们也是,没有文档、没有注释、没有测试、没有 eslint |
![]() | 2 murmur 2019-06-21 10:55:46 +08:00 ![]() 我们也禁了 eslint,文档有、注释有,没有单元测试 |
3 CliCli025 2019-06-21 11:02:37 +08:00 nuxt 打包一次 20 多秒..... 还在艰难的使用中 |
![]() | 4 npe 2019-06-21 11:20:54 +08:00 ![]() 其实大多盲写的时候,挺烦 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 ![]() 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 ![]() 有些人就是喜欢在屎堆里打滚。 |
![]() | 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 PRO 我想问,公司一个前端,有必要用 eslint 吗 |
![]() | 18 WittBulter 2019-06-21 13:28:13 +08:00 ![]() @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 ![]() @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 ![]() 是的,不用 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 ![]() 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 ![]() 想我一样,脱离 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 ![]() 没有 eslint,回头看以前写的代码,缩进不一样,这里有个分号那里又没有分号,这里换了行那里多了好几个空行,总之看着都把自己给恶心到了,所以无论是一个人写代码或团队,都有必要用 eslint |
59 wangcansun 2019-06-21 17:30:08 +08:00 ![]() 我都是在项目中加上 git hooks 强制提交要满足 eslint 对于不按照规范来写公司代码的,真的觉得很毒瘤。。。 |
![]() | 60 evlos 2019-06-21 17:47:24 +08:00 ![]() eslint 的作用是防止有人写出来的代码恶心到别人,我无法想象有人会觉得 eslint 恶心,那么他的无自知之明是到了何种程度? |
![]() | 61 MikeFeng 2019-06-21 18:34:58 +08:00 ![]() 那些嘲笑 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 ![]() 没想到还会有人说 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 ![]() 暗暗记下说 eslint 恶心的这些人,这种都是团队毒瘤,千万别招进你们的公司。 很多前端都没看过 airbnb 的 js 规范,更别提《 Clean Code 》了,写出来的都是啥 shit 玩意,最影响团队效率的就是你,还没一点自知之明。 |
![]() | 67 ibufu 2019-06-21 19:59:58 +08:00 ![]() eslint 最关键的一个作用是保持代码风格一致性,在团队协作方面这比其他所有作用都重要。 |
68 royzxq 2019-06-21 20:00:29 +08:00 eslint 还是得有,而且不也蛮好用的嘛。 觉得真的受不了的规则干掉就是了,忽略所有 src/* 那可是真滴 |
69 kzfile 2019-06-21 20:07:53 +08:00 ![]() 当 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 ![]() 前面自己可能说得有点狠 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 ![]() 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 |
![]() | 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 太严格,改一下限制程度好了。 |