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

royburns
 royburns
发布于 2016年03月14日
收藏 76

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

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

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

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

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

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

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

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

国际化。

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

改善我们的心态。

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

开源好去处

oschina.net - 开源中国,有事找红薯。

GitHub - 全球最大的同性交友社区?GitHub是与朋友、同事、同学和陌生人共享代码的最佳场所。

StackOverflow - StackOverflow是面向专业程序员和技术爱好者的问答网站。

OpenHatch - OpenHatch是一个非营利的平台,致力于通过社区、工具和教育聚集潜在的自由软件爱好者。

SourceForge - SourceForge是开源软件开发者进行开发管理的集中式场所,也是开源软件开发平台和仓库。有点老了,大部分人都迁移到Github上了。

Google Code - 应该差不多全都迁移到Github上了吧?

原文:royburns

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:为什么程序员要参加开源项目?
加载中

最新评论(11

royburns
royburns

引用来自“谢浩哲”的评论

我在GitHub上参加一个开源项目 然后开发者各自遵循各自的命名习惯,好像是有意要逼死我这种强迫症39

引用来自“royburns”的评论

哈哈,那这个开源项目的管理就有问题了,参加的人一开始就需要有约定才行,或者后来的人提交代码要通过一定的审核,比如只能创建push request、code review、merge,而不是直接就commit、merge

引用来自“谢浩哲”的评论

因为没有约定吧~
然后那个Product Owner估计也没什么强迫症~
Code Review有时候也蛮严格,但是代码风格并不是审查的重点。
但是我看到代码之后分分钟要抓狂!
嗯,所以一开始就要建立各种制度
谢浩哲
谢浩哲

引用来自“谢浩哲”的评论

我在GitHub上参加一个开源项目 然后开发者各自遵循各自的命名习惯,好像是有意要逼死我这种强迫症39

引用来自“royburns”的评论

哈哈,那这个开源项目的管理就有问题了,参加的人一开始就需要有约定才行,或者后来的人提交代码要通过一定的审核,比如只能创建push request、code review、merge,而不是直接就commit、merge
因为没有约定吧~
然后那个Product Owner估计也没什么强迫症~
Code Review有时候也蛮严格,但是代码风格并不是审查的重点。
但是我看到代码之后分分钟要抓狂!
royburns
royburns

引用来自“开源中国七里香”的评论

国内就一个osc
一个就够用了呀,你找红薯,他一定会帮忙。
royburns
royburns

引用来自“谢浩哲”的评论

我在GitHub上参加一个开源项目 然后开发者各自遵循各自的命名习惯,好像是有意要逼死我这种强迫症39
哈哈,那这个开源项目的管理就有问题了,参加的人一开始就需要有约定才行,或者后来的人提交代码要通过一定的审核,比如只能创建push request、code review、merge,而不是直接就commit、merge
royburns
royburns

引用来自“eechen”的评论

为什么程序员要参加开源项目而不是创建开源项目?
可以创建啊,参加的意思不仅指的是加入别人,还可以是自己找人一起创立
imknown
imknown
coding.net
宁音雨雾
宁音雨雾
支持~
eechen
eechen
为什么程序员要参加开源项目而不是创建开源项目?
谢浩哲
谢浩哲
我在GitHub上参加一个开源项目 然后开发者各自遵循各自的命名习惯,好像是有意要逼死我这种强迫症39
开源中国七里香
开源中国七里香
国内就一个osc
返回顶部
顶部