目前技术圈的发展速度可谓是有目共睹,尤其是前端,每隔一段时间就出新的技术,可以说让很多初学者非常畏惧,没有一个明确的方向不知道从何学起。
同时也有很多人,只局限于使用手头已掌握的技术,而不愿去尝试新技术。举个例子,如今 vue3 都已经正式发布,但仍还有停留在 vue2 不愿尝试 vue3 的开发者。而 java 都发布 18 版本了,可还有很多人都还使用着 java8,这种现象可以说是非常常见了。
这里说说我个人编码经验与看法,仅作为个人观点,没别的意思。
熟悉我的人应该都知道,我对很多新鲜的技术有一种难以用言语表达的情感,又哭又笑。属于是那种看到感兴趣的就会开始尝试,在之前也许更强烈。
驱使我去接触的原因无非就以下几点:
- 开发体验、性能提升
- 对已有技术的厌倦感和对新鲜事物的好奇心
- 更多机会与方向
- 对未来技术趋势有更好的了解
写不完的代码
首先要知道一点,在任何的软件开发迭代中都没有最终形态的代码。说白话就是代码都是不断更新的,永远写不出最好的代码。
你能看到如今很多开源项目或者商业项目都在不断新增代码或者功能,除非作者不维护了,不然这份代码可以说写到世界末日。
究其原因还是因为社会不断在发展,硬件升级,性能提升, 不断的业务需求。毕竟人都在进步,社会难道还不能进步。所以必然会有新的技术出现,只是出现的时间快慢,与技术难点突破。
开发体验、性能提升
毋庸置疑,在购买方面,肯定是买新不买旧,同样的在技术(软件更新)方面也是则从用新不用旧。驱使软件和框架更新的原因也就是新增了某些功能(特性),对用户(开发者)的体验有所提升。一般而言比较少的会存在反向更新的操作,这里除了某些国产软件~~(如某信,某 Q 等等)~~
就我对此的看法也是如此,假设一个开发工具启动花费了 5s 钟启动,而在它的最新版只需要 1s 钟就能够启动,你会选择更新尝试吗?。再比如一个框架原先的代码需要 10 行代码才能实现的功能,由于新版本提供一个语言级别的语法糖,使该功能只需一行。
并且我对开发体验非常在意,尤其是不好用,或者不好配置的东西,我基本秉持能不用就不用的原则,像 vue2 与 webpack 就是这样,我跟愿意使用 vue3 或 vite。诸如此类的替换有非常多,便不一一列举。
要我肯定毫不犹豫的更新去使用,但有些人可能对此提升不是很在意,又或者是升级的成本相对较高,也可能是因为这个开发工具(框架)他用的比较少,更新的意义自然就不大。
对代码厌倦和对新事物的好奇心
我写代码时常处于三分钟热度的状态,有些东西可能也就 一开始的时候感觉比较新奇,然后就不了了之了。我对此的看法主要还是容易对代码产生厌倦感,不想写代码,不愿意学习。当厌倦感产生了,自然而然就放弃编写,也就是三分钟热度的状态。不过也能侧重体验一点,那就是肯定我对此不是那么感兴趣,既然不是那么感兴趣的东西,又何必在写下去呢?
接着过段时间又遇到了一个新的技术,冲击了我的好奇心,开始尝试。 如此重复,就会发现啥都学了一点,但实际是啥都没学到。但至少,让我肯去学习,而不是在原地踏步。而从心底里就想接触的新鲜事物,每次接触到就能满足自己内心的好奇心,就这一点我便知足了。
重构的艺术
如果回头看看自己 1,2 年前写的代码,会发现原来自己也曾写过丑陋不堪的代码,也成为过自己所讨厌的样子。如果这份代码我将来还会用到,那么我就尝试去重构,也许在当时还不支持某种特性,代码就无法简化。基于现有的水平,便会发现很多代码都有可改善的地方,可以化繁为简。代码重构属于将杂乱摆放的东西,收拾的整整齐齐的样子。重构是在提升观赏度和舒适度的同时,还减少 bug 的诱发概率。
在编程语言级别水平上,也就是我为什么会想去使用最新的版本(ES2022,TypeScript 4.9),即便是兼容性的问题,我也会去使用,就是因为能够满足我对代码的舒适度,这便足以。