模拟面试、简历指导、入职指导、项目指导、答疑解惑 可私信找我~已帮助100+名同学完成改造!
前言
大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~
平时我们在写代码的时候,有时候有一些功能比较难实现,或者市面上已经有现成的库,那么我相信很多人会毫不犹豫地去安装这个包,并投入到开发中去使用~
但是其实这样是不对的,为了保证项目的
健壮性、可维护性、可持续性
,建议大家在安装一个包的时候,一定要先经过一定的
评估
,并且这个
评估
是多方面的,分别是:
特性是啥
稳定性如何
性能如何
生态、社区、文档
学习成本高不高
兼容性怎么样
趋势如何
了解库的特性
第一点肯定是要了解你所安装的包有哪些特性,是否真的符合你的项目需要,就比如我用 Vue 来开发页面,是因为使用它的响应式来开发页面非常方便,分离了视图层和数据层,代码可维护性更高
或者比如 lodash 这样的的工具库,完全就是为了每一个项目而生的,使用率非常高
在选库的时候一定要了解库的特性,了解一下: 这个库是否能完美解决你的需求?这个库是否功能过剩?如果功能过剩的话是否需要换另一个更简洁的库?
库的稳定性如何?
一个库的稳定性是非常重要的,这也关系到你项目的稳定性,你总不会想要给你的项目埋一颗定时炸弹吧?
一个经常出 BUG 的库是不能出现在生产环境的,所以选了一个库之后,最好能好好调研下这个库的稳定性,多测试测试
库的性能怎么样?
为什么大佬们选库的时候都会选体积更小的库呢?或者支不支持
tree-shaking
呢?那是因为体积越小,说明页面运行的速度更快。
你觉得这个库很牛逼,但是用了它,页面加载多了 5s ,那这个库就是垃圾,需要马上换掉,这就不是一个符合你们项目的库
生态如何?
一个库的生态包括很多方面:
文档齐不齐全: 文档是这个库的说明书,所以文档是很重要的,这决定了你能不能最大发挥这个库的功能
社区活不活跃: 社区活不活跃,决定了在使用这个库的时候可以少踩一些坑,因为社区活跃说明你的坑,很多人都踩过了
对应的周边库多不多: 就比如 Vue 配套了 router、vuex、pinia 等等,让你在使用这个库的时候,能更好地、按需地,去拓展你想要的项目需求
学习成本
使用一个库,学习成本可太重要了,毕竟学习是需要时间的,而时间就是金钱啊
我觉得有一句话挺有道理的: 开发一个库的第一要素,就是要让使用者能无脑地去使用
拿 Vue 来举例子,前端程序员,稍微有点基础的,差不多几天就能上手 Vue,并利用 Vue 去开发一些简单的页面,所以 Vue 的学习成本是很低的,这也是它能爆火的原因
反观 JSX 又很多人觉得用起来不够无脑,维护起来也麻烦,所以很多项目都放弃使用 JSX
所以在调研的时候,一定要看这个库的上手难易程度如何,在某些场景最好是能做到 无缝衔接
兼容性怎么样?
先不说库了,就是你在使用一个 JavaScript 或者 CSS 的 API 时,你也得上 MDN 查查这个 API 的兼容性如何
而 NPM 库 肯定底层是依赖 JavaScript、CSS 的,所以这些库肯定也是有兼容性问题的
比如 Vue 就不兼容 IE,因为很多比较新的 JavaScript API 都不兼容 IE 浏览器,所以也导致了 Vue 不兼容 IE 浏览器
所以在用一个库的时候一定要调研一下兼容性,或者说能不能通过某些措施,让这个库具备比较好的兼容性
结语
我是林三心
一个待过 小型toG型外包公司、大型外包公司、小公司、潜力型创业公司、大公司 的作死型前端选手;
一个偏前端的全干工程师;
一个不正经的掘金作者;
逗比的B站up主;
不帅的小红书博主;
喜欢打铁的篮球菜鸟;
喜欢历史的乏味少年;
喜欢rap的五音不全弱鸡如果你想一起学习前端,一起摸鱼,一起研究简历优化,一起研究面试进步,一起交流历史音乐篮球rap,可以来俺的摸鱼学习群哈哈,点这个,有7000多名前端小伙伴在等着一起学习哦 -->
广州的兄弟可以约饭哦,或者约球~我负责打铁,你负责进球,谢谢~