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

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

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

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

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

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

    开源项目不仅仅给公司带来巨大价值,同时也可以给使用者自身带来巨大价值. 现在大部分公司产品的基石都是开源项目,从开发包到产品本身.我甚至在想,没有开源项目的世界将会是一个什么样的世界.互联网的共享精神 ...

  2. GitHub上的“金矿”(236个Python开源项目,涵盖了15个领域)

    人生苦短,越来越多的人,都开始用Python了. 但寻找好的项目资源,费时又费力,成了头号难题. 现在,好消息来了.最近,有人在GitHub上放了一座"金矿". 目前里面有236个 ...

  3. 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)

    [radar]毫米波雷达相关开源项目代码汇总(工具箱.仿真.2D毫米波检测.融合.4D毫米波检测.分割.SLAM.跟踪)(6) Toolbox pymmw https://github.com/m6c ...

  4. 使用git更新github上的开源项目

    以前经常在github上下载一些开源项目,比如crtmpserver, nginx, apache traffic server, ffmpeg等, 一直不知道怎么同步更新到当前的最新源码. 我以前的 ...

  5. OpenDigg前端开源项目月报201704

    由OpenDigg 出品的前端开源项目月报第一期来啦.我们的前端开源月报集合了OpenDigg一个月来新收录的优质前端开源项目,方便前端开发人员便捷的找到自己需要的项目工具. reactide Rea ...

  6. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...

  7. 人工智能和机器学习领域有哪些有趣的开源项目

    人工智能和机器学习领域有哪些有趣的开源项目? 投递人 itwriter 发布于 2014-12-02 11:21 评论(0) 有20人阅读  原文链接  [收藏]  « 本文简要介绍了 10 款   ...

  8. huggingface实操_盘点2018年度GtiHub开源项目TOP 25

    本文作者 Pranav Dar 是 Analytics Vidhya 的编辑,对数据科学和机器学习有较深入的研究和简介,致力于为使用机器学习和人工智能推动人类进步找到新途径.2018 这一年中,作者在 ...

  9. python潜力开源项目_比较了1000多个Python开源项目,精选出这34个

    传智播客博学谷 微信号:boxuegu- get最新最全的IT技能 免费领取各种视频资料 在过去的一年里,Mybridge比较了近1000个的Python开源库,并从中评选出34个最有用的工具来帮助你 ...

最新文章

  1. BGP MPLS中MCE技术介绍
  2. Android中基于TCP协议的网络通信之使用Socket进行通信
  3. docker报错解决办法:Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp
  4. python学习记录2
  5. 240多个jQuery插件 (转)
  6. Android Activity 生命周期中onStart()和onResume()的区别
  7. 计算字符在字符串中出现的次数
  8. ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data......
  9. android studio 中使用lambda表达式
  10. crammd5 php,使用CRAMMD5的SMTP身份验证
  11. NOIP模拟题——LGTB与序列
  12. Easy3D 样条曲线拟合
  13. php后门 佛像,给千年佛像做了个CT,结果好吓人
  14. 利用Photoshop制作二寸照片
  15. 灭绝师太(女博士)、李莫愁(女硕士)、黄蓉(本科生)、小龙女(专科生)可爱
  16. 海康威视监控摄像头连接电脑教程
  17. 什么是适用于iPhone和iPad的iOS最新版本?
  18. 计算机网络的应用阶层,计算机网络应用专业人才培养方案.doc
  19. 电脑开机后没反应,如何解决?
  20. 第29题:link与@import的区别

热门文章

  1. 在冒险中打拼:教师到手机大亨的打拼路
  2. 360竞价推广如何获得优质的关键词?
  3. Ubuntu 10.10与局域网中的Windows文件共享详细操作步骤
  4. opencv 标定 3D项目 四
  5. python省略号怎么打_打中一次赚一次?手把手教你打新债
  6. 字符串常量池,看这篇就够了(一)
  7. mac删除自带的 ABC 输入法
  8. ssm+vue+elementUI 基于微信小程序的游戏美术外包管理信息系统-计算机毕业设计
  9. 借助于经济学数学计算机科学,借助于经济学、数学、计算机科学、统计学、概率论以及帮助决策的理论来进行逻辑分析和推论。这一概...
  10. 美元指数V型反转 98关口保卫战打响