《架构师》2020年8月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

重写代码

不久前,@ThePracticalDev的Twitter账户上出现了一本假想著作的封面。早在2016年,取笑多变的JavaScript世界就是一种时尚,虽然方式与今天有所不同。

嘘,我发明了时间机器(不要告诉任何人)!让我们闪回到2016年。嗖的一声!我们到了。JavaScript生态圈看起来是这样的:

如果你正在使用JavaScript框架或是想要使用一个框架,你可能会选择Angular.js。但是,你很快就会看到这样的消息:Angular 2会需要你重写几乎所有的东西。而且,React.js即将到来,并日渐成熟。当然,还是有使用Vanilla JS和不使用框架的人。2016年,不使用框架仍然是一个流行的观点,但这个观点正在慢慢消失。

在了解了这一切之后,你会怎么做?你会选择哪条路?为什么?答案似乎很明显,因为你来自未来。但是,如果你之前决定使用Angular.js,那么几年之后,你将尝试使用新的Angular版本并重写你的代码。如果你选择使用React,你将成为一个幸运的赢家,因为现在每个人都搭了React的便车。现在,你可能想放弃类组件,借助那些妙不可言的钩子使用函数组件,对吧?好吧,至少它不像Angular.js到Angular 2的变化那么大,不需要学习全新的API,对吧?

选择这么多,时间这么少。我们该怎么做?

不管我们现在选什么,过去选什么,这都不重要。我们仍然会被诱惑或者不得不重写我们的代码。这样做的理由可能有许多:

·你的公司以前使用[框架名],但现在已经无法招聘到新人了;

·你觉得以前的解决方案不再有效,需要引入一些新东西;

·你屈从于行业趋势,想要使用最新最好的。

除非我们打破这个循环。