前端ts(一个全TS项目,把我们3个前端拖垮了)

前端ts(一个全TS项目,把我们3个前端拖垮了)
一个全TS项目,把我们3个前端拖垮了

我用1个月,把一个3个人做了1个月的全TS项目,用JS重做了一遍。

不是优化,是重写。

而且那时候,AI 还帮不上什么忙。


我讲一个我自己经历过的项目。

公司不大,但一开始,是想“做规范”的。

项目启动的时候,我们走的是完整流程:

需求评审、方案文档、项目设计文档,全都有。

光前期这些,就花了1个多月。

前后端配置也很“标准”:

前端全 TypeScript,后端 Java,严格按文档开发。

一开始看起来,非常理想。


但问题很快就来了。

开发过程中,领导和销售不断提新需求。

按流程,这些需求应该排到后续版本。

但现实是,公司小,谁能带来收入,就听谁的。

前端ts(一个全TS项目,把我们3个前端拖垮了)

于是所有新需求,只能一边开发,一边硬加。


接下来发生的事情,其实很多人都经历过。

文档开始失效。
设计开始被绕开。
原本定义好的结构,被一层一层打破。

等到第一版做完的时候:

代码,和最初的设计文档,已经完全是两套东西。


更现实的是,从那之后:

没有需求评审了。
没有文档更新了。
也没有什么流程了。

基本就是一句话:

“这个需求加一下。”

然后直接改代码。


再往后,问题开始失控。

因为没有统一设计,也没有文档约束。

TypeScript,反而变成了混乱的源头。

一个 Goods 类型,出现了好几份定义。

字段差不多,但总有细微差别。

每个人写一份,用的时候再各自改一点。

类型越来越多,但系统却越来越乱。


最讽刺的是后面的事情。

项目最开始,是我们3个前端,一起用全TS开发了1个月。

后面另外2个被调走,这个项目变成我一个人接手。

我做了一件很简单的事:

把整个项目,用JS重写了一遍。

花了1个月。


也就是说:

3个人 + 全TS + 完整流程,用了1个月。
1个人 + JS,重做一版,也用了1个月。


你说老板会怎么想?

他只会觉得:

“你们之前是不是在谎报开发周期?”

但实际情况是:

前面那1个月,我们也在天天加班。

只是时间,大量耗在了:

流程、文档、以及不断被打破的类型系统上。


这个项目让我彻底想明白一件事。

在一个需求不稳定、随时变更的环境里:

流程、文档、TS,本来是用来提升效率的工具。

但一旦环境不匹配,

它们就会反过来,成为负担。


后来我面试新同事,都会问一个问题:

怎么看待 TS 和 JS?

大多数人给的,都是八股标准答案。

但真正做过这种项目的人,其实不会这么回答。

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有