开源项目也可以是你的良师益友
开源项目不仅仅给公司带来巨大价值,同时也可以给使用者自身带来巨大价值。
现在大部分公司产品的基石都是开源项目,从开发包到产品本身。我甚至在想,没有开源项目的世界将会是一个什么样的世界。互联网的共享精神让互联网得以如此的快速发展。
但是,很多人仅仅局限于在用开源项目帮助公司快速的构建起平台,产品,其实开源项目还可以成为你的良师益友。
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.向开源项目致敬
开源项目是我们的良师益友,让我们向它致敬吧!
开源项目也可以是你的良师益友相关推荐
- 如何让开源项目成为你的良师益友
开源项目不仅仅给公司带来巨大价值,同时也可以给使用者自身带来巨大价值. 现在大部分公司产品的基石都是开源项目,从开发包到产品本身.我甚至在想,没有开源项目的世界将会是一个什么样的世界.互联网的共享精神 ...
- GitHub上的“金矿”(236个Python开源项目,涵盖了15个领域)
人生苦短,越来越多的人,都开始用Python了. 但寻找好的项目资源,费时又费力,成了头号难题. 现在,好消息来了.最近,有人在GitHub上放了一座"金矿". 目前里面有236个 ...
- 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)
[radar]毫米波雷达相关开源项目代码汇总(工具箱.仿真.2D毫米波检测.融合.4D毫米波检测.分割.SLAM.跟踪)(6) Toolbox pymmw https://github.com/m6c ...
- 使用git更新github上的开源项目
以前经常在github上下载一些开源项目,比如crtmpserver, nginx, apache traffic server, ffmpeg等, 一直不知道怎么同步更新到当前的最新源码. 我以前的 ...
- OpenDigg前端开源项目月报201704
由OpenDigg 出品的前端开源项目月报第一期来啦.我们的前端开源月报集合了OpenDigg一个月来新收录的优质前端开源项目,方便前端开发人员便捷的找到自己需要的项目工具. reactide Rea ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...
- 人工智能和机器学习领域有哪些有趣的开源项目
人工智能和机器学习领域有哪些有趣的开源项目? 投递人 itwriter 发布于 2014-12-02 11:21 评论(0) 有20人阅读 原文链接 [收藏] « 本文简要介绍了 10 款 ...
- huggingface实操_盘点2018年度GtiHub开源项目TOP 25
本文作者 Pranav Dar 是 Analytics Vidhya 的编辑,对数据科学和机器学习有较深入的研究和简介,致力于为使用机器学习和人工智能推动人类进步找到新途径.2018 这一年中,作者在 ...
- python潜力开源项目_比较了1000多个Python开源项目,精选出这34个
传智播客博学谷 微信号:boxuegu- get最新最全的IT技能 免费领取各种视频资料 在过去的一年里,Mybridge比较了近1000个的Python开源库,并从中评选出34个最有用的工具来帮助你 ...
最新文章
- BGP MPLS中MCE技术介绍
- Android中基于TCP协议的网络通信之使用Socket进行通信
- docker报错解决办法:Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp
- python学习记录2
- 240多个jQuery插件 (转)
- Android Activity 生命周期中onStart()和onResume()的区别
- 计算字符在字符串中出现的次数
- ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data......
- android studio 中使用lambda表达式
- crammd5 php,使用CRAMMD5的SMTP身份验证
- NOIP模拟题——LGTB与序列
- Easy3D 样条曲线拟合
- php后门 佛像,给千年佛像做了个CT,结果好吓人
- 利用Photoshop制作二寸照片
- 灭绝师太(女博士)、李莫愁(女硕士)、黄蓉(本科生)、小龙女(专科生)可爱
- 海康威视监控摄像头连接电脑教程
- 什么是适用于iPhone和iPad的iOS最新版本?
- 计算机网络的应用阶层,计算机网络应用专业人才培养方案.doc
- 电脑开机后没反应,如何解决?
- 第29题:link与@import的区别
热门文章
- 在冒险中打拼:教师到手机大亨的打拼路
- 360竞价推广如何获得优质的关键词?
- Ubuntu 10.10与局域网中的Windows文件共享详细操作步骤
- opencv 标定 3D项目 四
- python省略号怎么打_打中一次赚一次?手把手教你打新债
- 字符串常量池,看这篇就够了(一)
- mac删除自带的 ABC 输入法
- ssm+vue+elementUI 基于微信小程序的游戏美术外包管理信息系统-计算机毕业设计
- 借助于经济学数学计算机科学,借助于经济学、数学、计算机科学、统计学、概率论以及帮助决策的理论来进行逻辑分析和推论。这一概...
- 美元指数V型反转 98关口保卫战打响