为什么程序员要参加开源项目?

多结识更多优秀的程序员。

通常能把本职工作做好并且还有精力去做开源项目的人,能力跟精力都是相当厉害的,多认识一下这样的人可以学到很多。

了解最先进的团队的工作模式。

一般开源组织都是自组织团队,分工明确,成员积极。团队中的每一位成员都是团队的Owner,都为团队的目标负责,在团队事务上没有一位绝对的管理者,每位团队成员都可以作为团队事务的管理者,组织团队中的所有成员一起完成团队事务。

了解最前沿的编程技术、设计模式与系统架构。

一般开源项目都是为了做研究,就是在某一领域的尝试,会用到很多最新的技术、框架、架构等等。

无形中约束自己的代码规范。

如果说代码是程序员的语言的话,代码规范就是翻译软件。保证程序员之间的正常交流。
这个。。。有经验的程序员都有这种体会,就是。。。没人愿意去接手别人的代码,也讨厌别人修改自己的代码。其中一个主要的原因就是代码规范的不一致。我们工作的代码一般都是写个自己看的,稍微大一点的公司可能会有代码评审,leader或者其他组员也会看到,但是这也形成不了绝对的压力,因为基数太小了。
如果是在一个开源项目,你的代码是要给项目里面的几十个人看的,而且相互之间改动代码的几率会非常大,如果你的代码不规范,文档不完善,大家就会跟你讲,说你的代码写的太烂。而且你也会看别人的代码,将心比心你会有同样的感受。另外,如果你有幸参加的是比较大型的项目,说不定有成千上万的new guy fork你们的项目,拿去学习,如果写的太烂,你自己也觉得不好意思吧。

国际化。

这个也是我比较看重的。基本上国外的项目,保守点说80%的项目都在产品的设计初期就开始支持国际化,所以你们发现他们的这块做的非常完善。而我们国内的程序员很少有重视这块的,也难过,国内的市场就够大了,谁还愿意去国外占领市场呢。你真正做起来这块,其实发现这块的工作量并不大,只是在产品设计之初设计预留一个接口就好了,相比你后期要做国际化,重构这一块,简直可以忽略不计。当初我们做***的时候,国际化这块就头疼死,一开始这块没弄好,到后来就是各种山寨,不同国家的字符集转换,翻译。

标准化、工程化、流程化
  • 最明显的就是项目的各种config,是否方便运维部署。
  • 接口的定义是否规范,是否方便测试。
改善我们的心态。

有个笑话,就是国外一开源,我们就创新。目前开源社区,国外的声音还是比较大的吧,优秀的开源项目大部分都是国外的团队在做。这个世界是合作与竞争并存的,我们也应该让国外的团队听到国内的声音。

多阅读优质的开源代码

即使没机会参加开源项目,要尽量留出点时间阅读优质的开源代码。

开源好去处

oschina.net - 开源中国,有事找红薯。
GitHub - 全球最大的同性交友社区?GitHub是与朋友、同事、同学和陌生人共享代码的最佳场所。
StackOverflow - StackOverflow是面向专业程序员和技术爱好者的问答网站。
OpenHatch - OpenHatch是一个非营利的平台,致力于通过社区、工具和教育聚集潜在的自由软件爱好者。
SourceForge - SourceForge是开源软件开发者进行开发管理的集中式场所,也是开源软件开发平台和仓库。有点老了,大部分人都迁移到Github上了。
Google Code - 应该差不多全都迁移到Github上了吧?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,403评论 25 708
  • 《胜负之心》 这篇故事实质也在讲因果报应,种瓜得瓜,种豆得豆,不计他的因果前后世的迷信成分。我觉得其中所蕴含的道理...
    诺亚蜗牛nn阅读 1,070评论 0 0
  • 今天一大早就在微信群里看到了一则这样的事,一个孩子在水果摊前,卖水果的阿姨对他说:“你应该回家了,现在太晚了,阿姨...
    国艳更文的365天阅读 194评论 0 0
  • 鲜血永远是最直白的告白,和最直白的宣战
    血色狐妖阅读 143评论 0 0
  • 办公室的同事儿子今年要上一年级了,会来我的办公室转一转,跟我聊聊天,古灵精怪的,话也蛮多,很有趣。 有人说:“孩子...
    六水先生阅读 215评论 0 0