为什么我不建议中小企业使用 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...

总结

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

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

相关推荐
浮游本尊几秒前
Nginx配置:如何在一个域名下运行两个网站
前端·javascript
m0_74823983几秒前
前端bug调试
前端·bug
m0_748232923 分钟前
[项目][boost搜索引擎#4] cpp-httplib使用 log.hpp 前端 测试及总结
前端·搜索引擎
新中地GIS开发老师8 分钟前
《Vue进阶教程》(12)ref的实现详细教程
前端·javascript·vue.js·arcgis·前端框架·地理信息科学·地信
m0_7482495411 分钟前
前端:base64的作用
前端
html组态17 分钟前
web组态可视化编辑器
前端·物联网·编辑器·web组态·组态·组态软件
~央千澈~24 分钟前
如果你的网站是h5网站,如何将h5网站变成小程序-除开完整重做方法如何快速h5转小程序-h5网站转小程序的办法-优雅草央千澈
前端·apache
m0_7482398336 分钟前
基于web的音乐网站(Java+SpringBoot+Mysql)
java·前端·spring boot
时雨h40 分钟前
RuoYi-ue前端分离版部署流程
java·开发语言·前端
Cachel wood1 小时前
Django REST framework (DRF)中的api_view和APIView权限控制
javascript·vue.js·后端·python·ui·django·前端框架