现在大部分公司产品的基石都是开源项目,从开发包到产品本身。我甚至在想,没有开源项目的世界将会是一个什么样的世界。互联网的共享精神让互联网得以如此的快速的发展。但是很多人仅仅局限于在用开源项目帮助公司快速的构建起平台,产品,其实开源项目还可以成为你的良师益友。
全球最大的代码社区 github 是一个社交的好去处。不管是我们共同在开发一个开源项目,还是我们一起在用一个开源项目,依托于开源项目,我们有了社区,有了共同的话题。我们参加各种技术会议,我们因为这些开源项目而被彼此拉近,结下了深厚的情谊。基友万岁!
我有个项目需要读取 Kafka,然而我第一次接触 Kafka 的 API,去 Google 后,发现那些代码片段太 Demo 了,而直接这么拷贝过来的代码片段往往隐含着巨大的危险。我一直在读 Spark 的代码,我就去翻阅了 Spark 中读取 Kafka 的代码,写的很漂亮,而且是 “工业级” 的,复用度也足够好。我觉得没有比这更美妙的事情了。我想学 Yarn 编程,除了看书,我还想看看真实的 “工业级” 代码是什么样子的,于是我去研究 Spark 里的 Yarn 相关的代码,真的是很赞的一件事情。开源项目才是你真正的代码范例的宝藏,尽情的去挖掘吧。
代码除了要运行,还要能够被阅读。每个开源项目都会对代码规范有要求,而且被证实经得起大量的协作考验,比如 Spark 的 scala-style-guide 规范,然后进到具体的项目里,你还可以看到这些规则是如何的被有效的实践的。看 Spark 代码你能感受到一种美感。
当我看到红色框住的那行代码时,我感动的泪流满面。
我曾经是是很多语言的的程序员。C,PHP,Ruby,Java,Python,JavaScript,Flex。后面我学 Scala,这是一个美妙的富有学院派气息的,将面相对象和函数式编程完美统一的具有强大类型系统的语言。我从 Spark 源码里看到了很多很有趣的用法,在了解开源项目的同时,我的语言知识也不断的得到了更新。它是一个如此优秀的老师,汇集了众多 Scala 老手的经验,而这些我都可以通过 Spark 项目得到很好的学习,还有传承。
是的,开源项目证明了一门语言,成就了一门语言,也是最好的布道者,也是我们的好的语言老师。
无论是作为开源项目的 Contributor 还是资深用户,你都会被很多人所敬仰。当然,他们并不是敬仰你,而是敬仰你在开源项目努力。并且大家能够从你身上更多的了解开源项目,并且能够让开源项目更加稳定的运行在他们的平台上。 认识社会动物,根据马斯洛人类需求五层次理论,他让程序员一下上升到了尊重需求和自我实现 这两个最高级别的需求了。恩,真的很棒。
开源项目是我们的良师益友,让我们向它致敬吧。
联系客服