自己写代码是好,但不是最好。
在实际工作中,大部分时间的是用在解决问题上,而不是具体的编码上面。
解决问题是什么?接到一个需求,拆解、拆解、再拆解。这个过程才是真正耗费脑力、耗费时间。等到拆得不能再拆的时候,这个需求你就理解的非常清晰了,编码过程会顺畅。
手写代码没有问题,只要时间充裕,思考全面。
但每一个库,都是多少开发者,多少时间功夫,经历过千锤百炼而来。你确定你是一位somebody,在短时间内能实现得比他们更好么?
用库多了水平不是会下降么
这个见仁见智了。
你拿着库,不看文档,只看新手入门,然后就开始刷,能玩得好么?能进步么?
你拿着库,细看了文档,准确解决各种问题,把原来开发时间大大缩短了,这是不是进步?
你拿着库,发现他满足不了你的额外需求,开始细读源码找原因,改进,这又是不是进步呢?
不要随波逐流,要有自己的判断,有自己的分析。
遇到新的问题,可以先随波逐流的选择一款库,但必须做个DEMO验证下。毕竟每个人对问题的理解并不是完全一致的,他觉得这个库解决了他的这个问题,但不一定能解决你的这个问题。
自己实验、自己拿数据分析、自己从分析结果中做判断、做结论。
假如遇到一个问题,我有把握自己实现一个质量不输于外部开源库的代码段,但我还是会选择开源库。
原因是我虽然有这个精力去实现一个完整的库,但没有精力去覆盖这个库做各种文档、教程。
库做出来是给人用的,我自己做了一个库,但没有配套的文档,我的同事们怎么办?接手项目的人怎么办?
当然拉,等到某一天,真的成为了somebody了,可以把控所有的东西的时候,那就果断早轮子吧,把自己多年的思考、经验,都变成各种库,要不然世界上哪来这么多的轮子。
另外,我认为评判一个工程师的水平,当然要考虑是否熟练掌握常用的库,是否熟知一些知名的库,是否能够根据项目要求,快速评估出工作量(不熟悉哪些库可以使用,怎么评估???)
多数人更关注你做出来的东西,至于你用什么方式做出来谁会关心呢?
给项目引入库时慎重,而已经引入的,不用的才是2B
至于水平提高,研究人家源码去吧,站在巨人的肩膀上疗效更好
码农们肯定不甘于只用别人的轮子的。。。毕竟,写工具是咱工程师的能力证明~
原生的你也会自己去封装一些东西最后变成自己的库啊,每个人都有自己的习惯爱好,写一些自己喜欢的风格的库或者插件不仅赏心悦目而且也能提高组织代码的能力~
不过读库的源码还是特别好的,jQuery的源码绝对是很有读的价值的~读完让人有一种想自己写框架的冲动,造漂亮可爱的轮子吧!
用库不丢人,不知道为什么要用库丢人。如果你原生js写的比jq更快更好,不用库也没问题。太阳从东边到西边,很多老板就要支出上百万的人员工资和水电费,能够以最快的速度产出最好的产品才是关键。
你的工作要求你实现个效果,你自己写很难,因为你没有积累,知识也不够深厚,于是你去用jq,实现了目的,老板客户都很满意。完了之后你有空了,又会有兴趣去看看如何用原生js实现。这是轻重缓急的问题。
如果你目前的工作就是使用js库就能解决全部问题了,你自然很难追求更高难度的做法。如果你升职、跳槽到别的要求更高的互联网公司,普通的jq库也不再能解决全部问题,你自然要往高处去学。这就是追求的层次问题。
所以不要怀疑,不要担心,保持学习的热情,就总有要站在高于只用js库的高度的。
用库没问题,但是要明白库都干了啥,读读库的源代码,没事的时候自己实现一个,或者看看库哪不好在 git 上发个 pull-request ,然后你就可以牛逼闪闪地在简历上写上某库的创建者或者贡献者,然后就不用说了吧