我刚来现在公司的时候,到处是 3000 行,4000 行的 vue + js 文件,基本上随便增减个小功能,直接吐血,各种解构语法操作, { ...obj, ...obj2, ...obj3 }, 其中 obj obj2 obj3 还有相同的 key 冲突,然后你安排一直在这里的前端老员工去改,他直接说改不动,不要安排他,what ???你是核心开发者,你改不动?喊新来的,更不愿意改,基本上大多数都是我去改。哪有这么好的事情?天天自己用 js 写新项目?要他写 ts 更不愿意写,使劲抱怨,就差拿屠龙刀砍我了
后面开新项目,我慢慢带组成员用 ts 开发项目, 虽然初期抱怨不断,eslint 太严格了,tsc 过不了啪啦啪啦的, 反正就是使劲喷,但是经历 2 个月后 ts 开发慢慢习惯后,他们说真香,改别人写的代码好像也改的动了
要后端把 apifox + apifox idea 用了起来,然后我维护了一个兼容 apifox 的解析 swagger/openapi 插件,它支持 axios, fetch, uni.request, taro.request 等等常见客户端
如果你也用 apifox, 或者 swagger/openapi 规范文档,你可以试试这个插件 openapi-ts-request
大家说说看法? 中大型业务项目用 ts 开发好,还是 js 开发好? 真的是我太装逼了吗?
ps:昨天帖子发出去就被关小黑屋了😭
1
dcsuibian 31 天前
看看现在的风气就知道了,以前开源项目上 ts 是新闻,现在开源项目不用 ts 是新闻。
|
2
CodeCodeStudy 31 天前 1
肯定是 ts 好,小型项目都可以用,能加类型就加类型,对程序员和 IDE 都好,eslint 弄宽松点
|
3
bzw875 31 天前
村通网了吗,2420 年还用 js 开发应该是老旧的国企,日企 JS 仙人。
|
4
superhuai11 31 天前
目前没有动力去使用 TS ,不知道是不是因为项目大小的问题。大概是觉得 “有水平的人写 JS 也能比较优雅”
|
5
wusheng0 31 天前 via Android 33
标题引战,正文夹带私货,差不多得了。
要讨论就好好讨论,讲故事就讲故事,推广就放推广区 |
6
rookie2luochao OP @CodeCodeStudy 对,用 ts 很关键一环就是 eslint 的规则策略,这真是个学问,确实要适当,领导还要我在 lint-staged 加上 tsc, 加这个功能 tsc 还不支持,tsc 命令行编译支持的配置参数很少,对别名那些都解析不了
|
7
rookie2luochao OP @wusheng0 都是屌丝程序员,又不赚钱,纯免费,没必要这么大敌意,又不赚你一分一毫,看看大家说法有何不可,你要喷我可不惯着你
|
8
chuck1in 31 天前
我以前经常用 ts 但是后来不咋用了。我主要觉得看类型特别累人。
|
9
rookie2luochao OP @wusheng0 你要喷可以去我 github 主页加我邮箱,欢迎对喷,我就看不惯你们这些阴阳怪气的,你自己也可以发,你也可以不评论,我怎么样,关你什么,吃你家大米饭,喝你家粥了?
|
10
rookie2luochao OP @superhuai11 很多著名开源库都是 js ,代码很优雅,js 和用的人有很大关系,以过往经验看,js 项目确实维护难度很高
|
11
zy0829 31 天前 2
vue+ts 真的有点怪怪的 不如 react 来的自然
|
12
HTML001 31 天前 1
TS 与"田园式敏捷开发"很难兼容,而且做多了类型体操,换一个新人维护,会很难受
|
13
chendy 31 天前
技术都是按需用的,要看具体的业务复杂度和人员能力
业务不复杂 JS 也能 hold 住,人员能力不行用 TS 最后也是飞 any 顺便吐槽一下,全文没见别人说你装逼,就你自己觉得你装逼 然后推广太硬了,真的太硬了 |
14
Opportunity 31 天前 1
现在 node 原生支持 ts 了,我连 3 行的脚本都用 ts 写
|
15
rookie2luochao OP @zy0829 我用起来也是如此感受,很别扭,那个 defineProps 定义时使用的 ts 类型也很奇怪,react 其实心智负担也大,奈何别人就是 ast 体验好很多,react 要是能做好优化不让用户担心性能就好了,最好 uniapp 也支持 react😭
|
16
HTML001 31 天前
@superhuai11 认同,水平不够还写 TS 的话,写出来真的是一坨
|
17
zhangeric 31 天前 1
软文吧.还是引战的软文.
|
18
JohnnyGO 31 天前
是的,OP 太装逼了
|
19
rookie2luochao OP @Opportunity node 核心开发们越来越活跃,更新频率很高,很牛逼,3 行代码看得出你对 ts 也是真爱
|
20
Ocyss 31 天前
ts 的类型定义还是挺好用的, 能做到很多约束, 类型体操玩过一遍基本上就熟练了. 我写自己项目就喜欢用类型体操, 直接类型约束一个结构对象 https://github.com/Ocyss/boos-helper/blob/master/src/hooks/useModel/type.ts
|
21
rookie2luochao OP @zhangeric 我的错,我道歉,但是首页引战的讨论也不少?
|
22
xu455255849 31 天前
如果你是团队开发,建议上
如果你是个人开发,随意 |
23
rookie2luochao OP @JohnnyGO 确实被这样喷了,所以,心里不得劲,找个途径排解下
|
24
rookie2luochao OP @JohnnyGO 顺便看看对于 ts 开发业务项目这个问题的想法,我留意 v 站很久也没有发现该问题讨论
|
25
LandCruiser 31 天前
太年轻了,把公司项目维护好,代码写得好,对老员工有什么好处?不还是该下班就下班,该加班就加班,该拿多少钱拿多少钱吗?还是说用 TS 就能涨工资,或者跳槽涨薪?都不能呀,没有意义
|
26
lisxour 31 天前
想把 js 玩好,那不也是成吨的 jsdoc 类型注解,没有 jsdoc 的 js 代码那不就等于是全程 any 的 ts 代码,调试全靠 console.log ,ts 主要问题是在编译上,不是类型上
|
27
horizon 31 天前
现在不用 ts 我不会写代码
|
28
liaohongxing 31 天前
项目全 ts 类型标注。
|
29
rookie2luochao OP @dcsuibian 对,如果说引战的喷子,不妨看看为啥那些框架开发者要发不再使用 ts 的新闻,写个 changelog 不行吗?我觉得喷子大可以去喷这些巨佬
|
30
hucw21750 31 天前
我只用在对接后端 API ,以及通用的组件中。我们后端也是用 Java Swagger 标注 API ,我写了个 python 脚本,要开发或维护时通过 Api Tag 抓取 Api 文档数据,然后反向转换为前端 TS 的 Api 及 Model 文件,Api 文件里面的方法明确标注返回或请求提交的 Model ,请求时候默认转换 Model 实例。这样做好处很多:Api 统一管理、基本避免后端返回 NUll 导致空白页、字段提示、类型校验、在 Model 中抽象业务处理等等。其它地方开发不强求 ts 。
|
31
yangth 31 天前
暂时不打算上 ts
|
32
cssTheGreatest 31 天前
“然后你安排一直在这里的前端老员工去改,他直接说改不动,不要安排他”
我比较好奇这个。。是我呆的公司少了吗?很少见这种工作风格哈哈 |
33
kneo 31 天前 via Android
有没有一种可能,只有你自己觉得自己装了个逼?
|
34
sighforever 31 天前
@HTML001 写业务代码可以完全不体操的,可以把类型完全当成类型描述用,不整哪些花里胡哨的泛型啥的。那么多有类型的后端语言也没啥幺蛾子啊
|
35
Nielsen 31 天前
观点:
多写点 interface 描述下 API 接口,没坏处吧。 实在处理不好的 any 一下也没多麻烦吧。 |
36
Orangeee 31 天前
TS 是 JS 的超集 =》 JS 是 TS 的子集 =》 写不好 JS =》 写不好 TS
|
37
freezebreze 31 天前
要不怎么说留着那些老顽固有什么用,直接开了,招会 ts 的 便宜又好用
|
38
thosai 31 天前
别人我不知道,但是 OP 是装逼
|
39
CatchXS 31 天前
本质是还是开发规范,如果 js 开发的时候,注释、编码规范能很好的执行下去,可以不用 ts 的,ts 个人现在感觉是,强制大家遵守某一个规范,编码下限会比 js 高一些。
|
40
cookygg 31 天前
写完 ts 再去写鸿蒙 next 就简单了
|
41
nicholasxuu 31 天前 1
TS 配上 copilot/cursor 就如虎添翼了,繁杂的定义 interface 交给 AI 就很快解决了。
甚至可以考虑把 js 代码直接转成 ts 代码的。 |
42
PaulSamuelson 31 天前 1
apifox 不登录不让用,卡的批爆,非常垃圾,不如 apipost
|
43
guanzhangzhang 31 天前
python 的弱类型,项目大了多人合作并且有屎山代码下受不了,要是有个 typepython 就好了😫
|
44
d119 31 天前
最近把一个后端项目用 ts 重构了,写惯了 js 说实话是很快,ts 写起来慢,确实是为了规范,为了长期好维护,但发到线上区,对比之前的运行速度,发现也比纯 js 的慢
|
45
liubaicai 31 天前
declare type TAny = any;
|
46
BeforeTooLate 31 天前
你这写的到底是不是软文啊,我陷入一阵思考
|
47
Hilalum 31 天前
还有更装逼的,fpts
|
48
c3de3f21 31 天前
以下情况满足一点无需使用
- 1.团队有规范流程 - 2.每个函数有入参返回注释最好是 jsdoc - 3.有各个函数的文档 以下情况满足一点需要使用 - 1.短平快后期需要修改(非重构) - 2.团队不愿意写文档或者团队规模较小 - 3.无法约束团队成员随便起名字语不达意什么的 |
49
luyinge 31 天前 1
下意识的看了下发贴日期。。。这都 2024 年了,这种问题有哪怕是一丁点讨论的价值么?
|
50
a132811 31 天前
@guanzhangzhang
python3.5 以后就支持类型注解了,习惯了类型、单测后,没有它们我都不敢发代码了。 比 ts 好一点是内置支持,不需要像 ts 一样编译成 js 。 比 ts 差的一点是类型系统不强大,没有类型体操(某种意义上这其实算优点) |
51
gechang 31 天前
让我改?我把 ts 全部转 js
|
52
shui14 31 天前
别搞这种贴,有价值的会直接拉黑你
退一步讲,十年前的贴吧,人家用 backbone 妨碍到谁了,那种业务级别,那个用户量给出的迭代压力,现在有谁敢说能打,连腾讯几次挑战全部失败。软件工程系统设计很重要。第一门课,程序设计( c 语言版),你学的是程序设计不是学 c 语言。为什么别人用古老 js 写出的项目稳得不行,今天的网红们写十行 nextjs 输出十五行呢,那些地图 sdk 都这么多年没更新,稳得一批,用 sdk 写业务的反而三天两头的增笑 TS 跟 JS 有什么关系,它就是一个约束工具,跟怎么组织怎么规划结构有毛关系,有多少人搞成了 anyscript ,稍微复杂一点的类型最后还不是单独拎出来 JS 做大型项目不可靠是针对整个系统而言,这个问题和 php 一样,不是它的能力不行,是这门语言的设计哲学。要拿捏它需要很高能力的人,那为什么不选个工业级语言,这么多工具,那个螺丝刀顺手提那个不好吗 |
53
dadaji 30 天前 via iPhone
团队的项目全上了,强制 eslint tsc ,禁止 any ,
|
54
dadaji 30 天前 via iPhone
不想写 ts ?找个机会换人就好了,外面多的是人,不写 ts 就是影响我下班
|
55
swim2sun 30 天前
自从出了易建联的新闻后就无法正视 ts 这个缩写了 - -
|