如何让开源项目成为你的良师益友

开源项目不仅仅给公司带来巨大价值,同时也可以给使用者自身带来巨大价值。

现在大部分公司产品的基石都是开源项目,从开发包到产品本身。我甚至在想,没有开源项目的世界将会是一个什么样的世界。互联网的共享精神让互联网得以如此的快速的发展。

但是很多人仅仅局限于在用开源项目帮助公司快速的构建起平台,产品,其实开源项目还可以成为你的良师益友。

拓展你的社交关系

全球最大的代码社区 github 是一个社交的好去处。不管是我们共同在开发一个开源项目,还是我们一起在用一个开源项目,依托于开源项目,我们有了社区,有了共同的话题。我们参加各种技术会议,我们因为这些开源项目而被彼此拉近,结下了深厚的情谊。基友万岁!

成为你代码范例的宝贵来源

我有个项目需要读取Kafka,然而我第一次接触Kafka的API,去Google后,发现那些代码片段太Demo了,而直接这么拷贝过来的代码片段往往隐含着巨大的危险。我一直在读Spark的代码,我就去翻阅了Spark中读取Kafka的代码,写的很漂亮,而且是“工业级”的,复用度也足够好。我觉得没有比这更美妙的事情了。我想学Yarn编程,除了看书,我还想看看真实的“工业级”代码是什么样子的,于是我去研究Spark 里的Yarn相关的代码,真的是很赞的一件事情。开源项目才是你真正的代码范例的宝藏,尽情的去挖掘吧。

代码规范的楷模

代码除了要运行,还要能够被阅读。每个开源项目都会对代码规范有要求,而且被证实经得起大量的协作考验,比如Spark的scala-style-guide规范,然后进到具体的项目里,你还可以看到这些规则是如何的被有效的实践的。看Spark代码你能感受到一种美感。

WeChat_1450009166.jpeg

当我看到红色框住的那行代码时,我感动的泪流满面。

编程语言的好教程

我曾经是是很多语言的的程序员。C,PHP,Ruby,Java,Python,JavaScript,Flex。后面我学Scala,这是一个美妙的富有学院派气息的,将面相对象和函数式编程完美统一的具有强大类型系统的语言。我从Spark源码里看到了很多很有趣的用法,在了解开源项目的同时,我的语言知识也不断的得到了更新。它是一个如此优秀的老师,汇集了众多Scala老手的经验,而这些我都可以通过Spark项目得到很好的学习,还有传承。

是的,开源项目证明了一门语言,成就了一门语言,也是最好的布道者,也是我们的好的语言老师。

获得认同感

无论是作为开源项目的Contributor 还是资深用户,你都会被很多人所敬仰。当然,他们并不是敬仰你,而是敬仰你在开源项目努力。并且大家能够从你身上更多的了解开源项目,并且能够让开源项目更加稳定的运行在他们的平台上。 认识社会动物,根据马斯洛人类需求五层次理论,他让程序员一下上升到了尊重需求和自我实现 这两个最高级别的需求了。恩,真的很棒。

向开源项目致敬

开源项目是我们的良师益友,让我们向它致敬吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构师之路

创业电商产品四大要点【创业+产品】

创业电商产品四大要点 一、做好商品浏览功能 1)当公司规模还不大的时候,不必急急忙忙地推出搜索功能 2)产品库还不算丰富时,人们根本不知道该搜索什么,所以做好商...

37590
来自专栏数据库新发现

拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从?

作者:eygle |English 【转载时请标明出处和作者信息】|【恩墨学院 OCM培训传DBA成功之道】 链接:http://www.eygle.com...

20230
来自专栏云计算爱好者

简单科普云计算相关内容

云计算将是下一个网络大事件,我们先来看看什么是云计算,以及它究竟怎么工作的,同时它真的安全吗?这些疑问,我们简单地提供一些云计算的概念,让大家了解...

31350
来自专栏杨建荣的学习笔记

自动化平台的尝试和小结

自动化平台的事情喊了好久,之前有人做,自己协助支持,现在想做,但是苦于没有实战经验和技术积累。所以身份和角色转换,都需要转变。 那么只能是硬上。不会Python...

25930
来自专栏人工智能LeadAI

流式数据 | 天天在做大数据,你的时间都花在哪了

大数据做了这许多年,有没有问过自己,大数据中,工作量最大和技术难度最高的,分别是什么呢? 01 大数据时代 我每天都在思考,思考很重要,是一个消化和不断深入的过...

45760
来自专栏java一日一条

程序员如何提一个好问题

提出好的问题是在编写软件时的一个非常重要的技能。这么多年来我对此也算略有小成。这里有一些我用着觉得很棒的指导方针!

13730
来自专栏码神联盟

企业为什么需要雇佣一名老程序员

本文从经验、判断力、知识面的广度和深度等几个方面阐述了为什么需要雇佣一名老程序员的原因。 ? 经验 老程序员可能无法像25岁时那样,在脑子里保存那么多的代码,但...

378120
来自专栏landv

风雨20年:我所积累的20条编程经验【转】

11820
来自专栏AI研习社

谷歌开源 Python Fire;一张图读懂 Python、R 的大数据应用等 | 开发者头条

谷歌开源 Python Fire NASA 发布 2017-2018 软件目录,供开发者免费使用 一张图看懂大数据中 R 语言的应用 一张图看懂大数据中 Py...

37380
来自专栏SDNLAB

VMware针对电信特别调整了NFV-OpenStack

VMware昨天发布了针对OpenStack的vCloud NFV的3.0版本。它是一个完整的OpenStack套件,包括计算、存储、网络和虚拟基础设施管理器(...

11120

扫码关注云+社区

领取腾讯云代金券