谈谈程序员重复造轮子的几点思考

今天来写一篇鸡汤帖。面试

1. 重复造轮子有意义吗?

重复造轮子,大部分一听感受浪费时间和经历去搞一个别人已经开源的东西,花了时间可能还没搞的别人效果好,何不直接拿别人的过来直接用了,确实很是有道理。安全

并且工做任务完成过程当中,有时候工期紧,要求功能又多,不少都须要创建在别人的基础上完成,轻松又快,快速完成交付,老板又赏识,简直完美。数据结构

以上观点我很是同意,我也常常这样在工做作,节省的本身的时间。并发

可是还有另一个角度,抛开工做工期,有交付压力的状况下,我的以为有想法的状况下有必要去造轮子,常常从网上或身边听到某某面试,问他简历上的东西,好比部署过某某产品,面试官问怎么部署的,面试者回答拿公司现成的工具部署的啊。显示这不是面试官想要的答案,但站在面试者的角度上确实说的是实话,的确干过这个项目,也确实都是公司现有的工具,尤为在大公司,这种现象可能多一点,由于流程工具都很是完善,只需关心业务就行了,但可能业务写多了就变成CV(复制粘贴)大神。高并发

就像是学知识同样,只有把别人变成本身的,而后再去实践才是真正的懂了。互联网技术我的感受写出来和会用是彻底两回事。只有真正去写的时候才知道坑在哪里,是否是哪里线程不安全啊,高并发的状况如何保证数据一致性啊等等。工具

因此从我的成长的角度出发,重复造轮子仍是有必要的,固然得抛开工做交付压力的状况下,强调这个是由于实际工做项目中,用别人更好的且已经完善的东西,显然对项目自己来讲是很是好,拿公司钱就得把事情作好。在业务没有交付压力的状况下,我的建议多尝试先想本身如何实现,就算以后用的别人的东西,你看看源码,知道人家如何实现,也就不会出现上面说的面试中遇到懵逼的问题了,简历上本身的项目若是都回答很差,会给面试官不太好的印象。线程

2. 谈谈我从造轮子里的收获

简单谈谈我造轮子中的收获吧,好比写技术博客,不少知识点网上不少已经写过了,若是这样是否是以为不必写了,直接看就行了,我的实践发现写的过程当中仍是有些知识点写的时候才发现原来以前都理解错了,同时更加能加深对知识点记忆。好比我写了上一篇MySQL索引原理,如今对B-Tree数据结构和磁盘原理理解比较清晰点,之前就以为这种高级数据结构离我很远。cdn

去年我从新造轮子封装了一个很是轻量的ORM,缘起也是由于业务中用别人的有点不爽,就想本身看看能不能封装一个,平时也没有时间去写,就国庆在家撸了7天。写完以后,遇到不少坑,再去看牛人写的ORM,才知道代码还能够这么写,对MySQL的语法和ORM的常规实现都有了必定的理解。以前也还造过相似elasticdump的脚本,费了很大神,运行一段时间才知道有elasticdump的存在,果断换了elasticdump,虽然结果上最终用了elasticdump,可是过程仍是蛮多收获,同时也会激起你去看源码的冲动。索引

最近在接触项目里有接触到RPC,我就有想法去了解原理,从新造轮子,但你可能会问时间和精力问题。工做时间内去造这种轮子,是不太现实的,确实。只有牺牲本身的业余时间,去写这种对本身能力提高有帮助的轮子,这是值得的。以前看动漫,主角修仙者都是闭关多久出来才成了厉害角色,角色只是让咱们看到告终果,可是想一想闭关期间,吃饭睡觉都在修炼,因此要想成为大牛。部署

哈哈,鸡汤帖结束,但愿你们事业上都能修道成仙,来分享你的故事。

更多精彩文章,欢迎关注公众号: 「天澄技术杂谈」

相关文章
相关标签/搜索