首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >开源项目的正确打开方式:如何发明完美符合自己业务特点的轮子?

开源项目的正确打开方式:如何发明完美符合自己业务特点的轮子?

作者头像
时见疏星
发布2018-06-01 10:47:15
发布2018-06-01 10:47:15
5690
举报
文章被收录于专栏:星流全栈星流全栈

软件开发领域有一个流行的原则:DRY,Don’t repeat yourself,我们翻译过来更形象通俗:不要重复造轮子。开源项目主要目的是共享,其实就是为了让大家不要重复造轮子,尤其是在互联网这样一个快速发展的领域,引入开源项目,可以节省大量的人力和时间,大大加快业务的发展速度,何乐而不为呢?

然而现实往往没有那么美好,开源项目虽然节省了大量的人力和时间,但带来的问题也不少,相信绝大部分同学都踩过开源软件的坑,小的影响可能是宕机半小时,大的问题可能是丢失几十万数据,甚至灾难性的事故是全部数据都丢失。

除此以外,虽然DRY原则摆在那里,但实际上开源项目反而是最不遵守DRY原则的,重复的轮子好多,尤其是国外,一看哪个开源方案不爽,自己就吭哧吭哧搞一个差不多的:你有MySQL,我有PostgreSQL;你有MongoDB,我有Cassandra;你有Memcached,我有Redis;你有Gson,我有Jackson;你有Angular,我有React。总之放眼望去,其实相似的轮子很多!相似轮子太多,选择就是让人头疼的问题了。

怎么办?完全不用开源项目几乎是不可能的,我们需要更加聪明的去选择和使用开源项目。形象点说:不要重复发明轮子,但要找到合适的轮子!你开的是保时捷,可别找个拖拉机的轮子。

接下来我将根据加入UCWeb 5年与开源项目有关的经历,总结出一些“如何正确使用开源项目”的经验和教训。有的项目是我亲身经历,有的是我接触到的,有的是我观察的,其中部分描述细节可能并不完全准确,大家可以结合自己的经历一起探讨。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 星流全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档