为什么我不建议中小企业使用 TypeScript

文章首发公众号:程序员Sunday

Hello,大家好,我是 Sunday。

不知道从什么时候开始,前端开发者中出现了一种 唯 TS 至上论 的思想。

如果你的项目中使用的 是JavaScript不是TypeScript,那么就会被打上 很low 的标签。同时也会被立刻质疑:"你为什么没有使用 TS?"

我为什么一定要使用 TypeScript 呢?

TypeScript 真的有那么的完美,值得我们在任何的场景下都优先使用吗? 恐怕不是的

任何的一门技术都是一把双刃剑,它在带来一定优势的同时,必然也会带来一定的不便性。

所以,咱们今天就来聊一聊:"为什么我不建议中小企业使用 TypeScript!"

01:不要让 TS 沦为 个人KPI

有很多中小企业的 "技术Leader",本身并没有对 TS 进行过深入的了解。只不过是因为老板的一句:"我听说人家现在都在用 TS 啦?" 而强行在团队中推行 TS 。完全不考虑团队目前的技术方向以及团队的加班时长,这是 不可取的

所以 不要让 TS 沦为 个人KPI

当你想要在团队中推行 TS 时,你应该首先评估团队中是否有人使用过 TS,研究下大家学习 TS 所需要花费的时间。如果团队中都不熟悉 TS ,并且你也没有令人信服的理由,就不要强制团队使用 TS 啦。

02:大多数的中小企业很难适应它

说真的,"你(中小企业)花了多少钱招人,你自己心里没点 B 数吗?" 怎么着?还真打算拿着买"粉条"的钱去买"鱼翅"不成?

面试的时候,想尽办法的压薪资。工作的时候,又期望大家为你发挥出远超TA当前薪资的能力,好处都让你占了呗?

所以,别那么天真了!你的开发人员现阶段真的很难适应 TS。

如果,你真的想要在团队中推行 TS,并且希望它可以为你带来好的结果。

那么 请先培训你的团队!

拿出一定的时间和金钱,来提升你团队的技术能力和技术深度。为他们提供学习 TS 所需要的时间和课程,询问团队的意见,正确的评估你们团队的技能组合。否则你的 自私 决定,只会损害你们团队的利益,最终也会损害到你自己的利益。

03:容易出现 "伪 TS"

所有以 .ts 结尾的文件,都是使用了 TypeScript 的。

由此,项目中就有可能会出现大量的 "伪 TS"。也就是:"以 .ts 结尾的文件,但是内容都是 js。"

这样的项目,除了可以让你们老板拿出去"吹牛逼"之外,对技术个人是毫无意义的。

当然,让老板可以拿出去 "吹牛逼" 对很多 "所谓的 Leader" 而言,就是TA们价值的体现

04:更容易出现屎山

其实 "伪 TS" 还好,因为它毕竟 不需要 我们花费更多的 时间和头发 来了解它的心路历程。

而比 "伪 TS" 更可怕的是:屎山一样的 TS 代码。

相信我,一旦 TS 屎山起来,那个味道要比 JS 重的多!

不知道大家有没有接手过一些 "所谓的 TS 项目"。我有幸在多个 训练营的同学 那里见到过很多次。

过度的类型声明、过度的类型封装,以及那些明明被定义但是 "好像" 从来都没有使用过的属性们。偏偏你还不敢动它们。就问你晕不晕。

将来当你想要去定义一个属性时,发现好像已经有了一个类似的,但是你又不确定的时候怎么办呢?最安心的办法就是 "再创建一个"。

所以,我曾经有幸在一个接口中见到了这样的代码(以下为伪代码):

ts 复制代码
interface User {
  name: string;
  name2: string;
  username: string;
  username2: any;
}

就问你刺激不刺激。

通常情况下,当我们遇到这样的代码时,根据 "尽量遵守前人代码习惯" 的规范下,很快这里就可能会出现 name3、name4 以及 name-next...

总结

任何的一门技术都是一把双刃剑,它在带来一定优势的同时,必然也会带来一定的不便性。

所以,我们真的没有必要去跟风追逐所谓的强类型。适合自己团队的,才是最好的!

相关推荐
Moment5 分钟前
给大家推荐一个超好用的 Marsview 低代码平台 🤩🤩🤩
前端·javascript·github
小满zs9 分钟前
Zustand 第三章(状态简化)
前端·react.js
普宁彭于晏10 分钟前
元素水平垂直居中的方法
前端·css·笔记·css3
恋猫de小郭22 分钟前
为什么跨平台框架可以适配鸿蒙,它们的技术原理是什么?
android·前端·flutter
云浪25 分钟前
元素变形记:CSS 缩放函数全指南
前端·css
明似水40 分钟前
用 Melos 解决 Flutter Monorepo 的依赖冲突:一个真实案例
前端·javascript·flutter
独立开阀者_FwtCoder1 小时前
stagewise:让AI与代码编辑器无缝连接
前端·javascript·github
清沫1 小时前
Cursor Rules 开发实践指南
前端·ai编程·cursor
江城开朗的豌豆1 小时前
JavaScript篇:对象派 vs 过程派:编程江湖的两种武功心法
前端·javascript·面试
不吃糖葫芦31 小时前
App使用webview套壳引入h5(二)—— app内访问h5,顶部被手机顶部菜单遮挡问题,保留顶部安全距离
前端·webview