[交流] 最近在看前端的内容,接触了一些前端的代码,有一些吐槽

2022-08-10 08:39:58 +08:00
 eryajf

最近在看前端的内容,接触了一些前端的代码,从一个小白的角度,仅以过往一些 go 编程经历对比而言,对前端技术栈吐槽如下:

  1. html 标签里边,需要手写的内容太多,自动补全方面比起一些后端语言,差太多。
  2. 外部的包,已经引入成功,也能正常使用,但是这个包的方法并不会自动补全,写起来很难受。
  3. 函数的写法太多了,什么箭头函数之类的,而且感觉写法挺奇怪挺麻烦,老是记不住。
  4. 前端编码不能很方便地看到函数的入参以及返回值,导致用的时候就很模糊,要么死死记住这个方法,要么就得再次看方法的源码。
  5. 前端对方法的调用也是各有便道(混乱),没有参数的函数不加括号也可以以至于后来再看并不好区分这是用了一个方法还会一个参数。在 template 区域,大多方法都是在双引号的包裹当中,以至于补全不力,无法跳转,更无法直接通过调用的地方看到方法的具体实现。

暂时想到这么多,以后可能还补充,欢迎前端朋友一起交流下你的感受。

仅是一些个人角度的主观感受,没有任何恶意,请友善交流!

11791 次点击
所在节点    程序员
105 条回复
murmur
2022-08-10 08:43:01 +08:00
弱类型语言的 IDE 提示都是个问题,尤其是前端这种文件引入方式都各种各样的

箭头函数不是什么难点吧,这个东西最大的用途实际上是解决 this 的问题,我一直观点是代码长度不等于执行效率,如果你能处理好 this ,用 function 定义没任何问题
ifdef
2022-08-10 08:44:58 +08:00
评价猪肉好不好吃,至少得多吃几块肉吧,刚嚼了一根猪毛,就发一通牢骚,“这也忒难吃了”。河狸听了都直呼哒咩。
jeesk
2022-08-10 08:45:22 +08:00
前端一样自动补全。 比如 div*3. 那么就是 3 个 div 。
yukiwc
2022-08-10 08:48:18 +08:00
试试 typescript
retrocode
2022-08-10 08:48:30 +08:00
吐槽没有骂 node_modules 我不是很认可
lingly02
2022-08-10 08:49:15 +08:00
你说的这些问题,把 JS 换成 TS 基本上都解决了。HTML 的问题,不知道你用的什么编辑器,用 vscode 的自动补全还是没问题的
fox0001
2022-08-10 08:51:28 +08:00
从强类型语言的角度,特别是 go 这种编译型语言,来吐槽弱类型语言…也是毫无意义的纯吐槽吧?

我只能说,存在即合理。例如 HTML 标签,没提示就记一下吧,记不住就查一下。我认为前端工程师的经验和价值,不是依靠 IDE 的语法自动补全。
JDog
2022-08-10 08:55:18 +08:00
你敢吐槽贵圈儿?不要命辣?
我先来,html 是世界上最好的编程语言!
ccyu220
2022-08-10 08:55:29 +08:00
你这个最近,估计也就一天不到的时间吧。
musi
2022-08-10 08:57:37 +08:00
1. 用个 IDE 会好点
2 、4 用 TS
3. 当函数就用箭头函数基本上就可以
5. 没看懂
horseInBlack
2022-08-10 08:58:18 +08:00
1 、2 和 4 好像是觉得代码提示不够智能,可以给 VSCode 安装更多的插件或者直接用 Webstorm

3 对于新手来说新概念不熟悉很正常,接触新语言和新版本都会有这种情况,箭头函数和
Bazingal
2022-08-10 08:59:38 +08:00
有没有想过是因为 go 的设计已经落后于其它现代语言了呢?
eryajf
2022-08-10 09:00:23 +08:00
@murmur 箭头函数的确如此,我用得不多,还不够熟练,能理解解决 this 的问题
eryajf
2022-08-10 09:00:58 +08:00
@ifdef 嗯,你说得对,但我就是要吐槽
eryajf
2022-08-10 09:01:29 +08:00
@retrocode 哈哈哈哈,因为刚接触学习,涉及 node_modules 还不多
pytth
2022-08-10 09:01:33 +08:00
自动补全这个还得看编辑器,前端技术很成熟,暂时没有值得吐槽的地方。
kangyan
2022-08-10 09:01:57 +08:00
请使用 TS
wangtian2020
2022-08-10 09:02:00 +08:00
reply1.vscode 会自动闭合标签,其他手写的内容都是必要的
reply2.只有含有 typescript 类型标注的,或者是代码中有 jsdoc 注释的 package 导入后有属性提示
reply3.我目前的个人风格是所有地方全用箭头函数,没有问题
你不应该在自己不确定的地方使用 this ,使用 globalThis 替代
reply4.即使是像我这种记忆力差的人,也完全没有感觉记不住方法。(不常用的正则那是一点都记不住)
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map
顶多记个 array.map 、array.forEach 、array.find 、string.substring 之类的,其他我都想不出来有什么好记的,忘了就去查文档
reply5.你描述的内容看上去是 vue 的语法糖,你乐意的话每次都加上括号也没人阻止你 funName()

多学
https://zh.javascript.info/
eryajf
2022-08-10 09:02:22 +08:00
@lingly02 html 自己的标签补全当然没有问题,有问题的是给这个标签绑定个事件回调之类的,这个时候补全能力就弱了很多
eryajf
2022-08-10 09:02:56 +08:00
@fox0001 你的回复让我从另一个角度看前端以及前端人员了,感谢

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

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

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

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

© 2021 V2EX