开源项目也可以是你的良师益友

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

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

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

1.拓展你的社交关系

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

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

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

      3.代码规范的楷模

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

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

       4.编程语言的好教程

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

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

     5.获得认同感

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

     6.向开源项目致敬

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

作者:guest

来源:51CTO

时间: 2024-11-13 06:51:36

开源项目也可以是你的良师益友的相关文章

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

现在大部分公司产品的基石都是开源项目,从开发包到产品本身.我甚至在想,没有开源项目的世界将会是一个什么样的世界.互联网的共享精神让互联网得以如此的快速的发展. 但是很多人仅仅局限于在用开源项目帮助公司快速的构建起平台,产品,其实开源项目还可以成为你的良师益友. 拓展你的社交关系 全球最大的代码社区 github 是一个社交的好去处.不管是我们共同在开发一个开源项目,还是我们一起在用一个开源项目,依托于开源项目,我们有了社区,有了共同的话题.我们参加各种技术会议,我们因为这些开源项目而被彼此拉近,

源代码-我在学习Android 的ZXing开源项目二维码时 有几个类 不清楚他具体的意义,功能。

问题描述 我在学习Android 的ZXing开源项目二维码时 有几个类 不清楚他具体的意义,功能. ①BitMatrix.java ②ByteMatrix.java ③MultiFormatWriter.java ④QRCodeWriter.java 这4个 我实在不懂 这功能,这里面哪个 是将输入字符串 变成那个0,1 那个的?用什么算法了...我这是Android工程. 谢谢了...

使用开源项目的正确姿势,都是血和泪的总结!

软件开发领域有一个流行的原则:DRY,Don't repeat yourself,我们翻译过来更形象通俗:不要重复造轮子.开源项目主要目的是共享,其实就是为了让大家不要重复造轮子,尤其是在互联网这样一个快速发展的领域,速度就是生命,引入开源项目,可以节省大量的人力和时间,大大加快业务的发展速度,何乐而不为呢?   然而现实往往没有那么美好,开源项目虽然节省了大量的人力和时间,但带来的问题也不少,相信绝大部分同学都踩过开源软件的坑,小的影响可能是宕机半小时,大的问题可能是丢失几十万数据,甚至灾难性

点评10款Github上最火爆的国产开源项目

感谢Github,让我们有了一个优秀的共享平台,享受思想碰撞.参与优秀项目的激情.下面我跟广大的程序猿们,分享一下Github上最热的10款国产开源软件(本人纯手动计算,按照星数点评,有些熟悉就说的多,不熟悉就少说.失误之处你给我指出来,我下次补上). 1. Echarts Echarts 是基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. 所属公司:百度 Star:5204 提交时间:5/26/2013 优势:echarts提供商业产品常用

Java开源项目Hibernate快速入门

快速入门|项目   Java开源项目Hibernate快速入门其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss.这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性. 在这篇文章将不涉及Eclipse, log4j, Str

java开源项目研究 3.许可协议介绍

项目     如果你只是想学习使用一下开源项目,那么你可以跳过本节(了解一下更好^_^),但是如果你想在自己的产品(不管是开源的还是商业的)中集成开源项目,那么你必须了解许可协议.        开源项目的License可以分为三大类:     OSI-Approved Open Source:被开放源码组织(www.opensource.org)所批准的开放源码授权协议.像大家经常看到的Apache,GPL,LGPL,MIT Licence,都属于OSI-Approved的授权协议,OSI 的

java开源项目研究 2. 开源的历史

项目     提到开源,就不得不提到Richard Stallman--开源软件的始创者和精神领袖(不是偶像崇拜^_^).他是GNU(GNU's Not UNIX)工程的发起人,FSF(Free Software Foundation)的缔造者,同时还是大名鼎鼎的GNU Emacs(一个编辑工具),GCC(c/c++编译器,不用我说了吧,呵呵),GDB(调试工具)和GNU Make的作者.     Stallman的生平是和开源历史紧密相关的:     1984年,Stallman辞去了MIT

java开源项目研究 1. 引子

项目       一夜之间,开源项目仿佛无处不在,几乎覆盖了包括操作系统.网络通讯.桌面环境.教育.办公.安全.文字处理.数据库.中间件.应用娱乐在内的所有软件类型.在最大的开源项目发布平台www.sourceforge.net上,已经有近十万件开源项目,并且每天都有更多新的开源项目加入.而著名的www.apache.org则为大家奉献了Apache.Tomcat.Struts .Axis等.       开源运动是程序员对智慧成果共享.自由的追求,每天都有无数程序员为开源世界添砖加瓦,还有更多

数10大经久不衰的开源项目

如今,开源项目无处不在,它们经历了诞生.兴盛.衰落等一系列过程,最终非常优秀的项目才得以存留并发展壮大.  一些人认为开源运动是近几年才兴起的,其实不然,开源项目甚至可以追溯到几十年前.比如,20世纪60年代的NASA COSMIC软件集合.  自由软件创始人Richard M. Stallman曾说,"当我1971年在麻省理工学院人工智能实验室工作时,我已经成为了软件共享社区的一部分,当时该社区已经存在很多年了".  本文将列出一些古老的.经典的开源项目,在这个名单中我只列出了目前仍