diff --git "a/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\345\274\200\346\272\220\344\270\216\344\270\252\344\272\272\346\212\200\346\234\257\346\210\220\351\225\277.md" "b/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\345\274\200\346\272\220\344\270\216\344\270\252\344\272\272\346\212\200\346\234\257\346\210\220\351\225\277.md" index 9a3444bf60ceed9d27c8c5eb742707ce7e4749d9..1e627ef54849954b1fba4898685ba665421154c0 100644 --- "a/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\345\274\200\346\272\220\344\270\216\344\270\252\344\272\272\346\212\200\346\234\257\346\210\220\351\225\277.md" +++ "b/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\345\274\200\346\272\220\344\270\216\344\270\252\344\272\272\346\212\200\346\234\257\346\210\220\351\225\277.md" @@ -8,7 +8,7 @@ ## 程序员素养 -除了开源社区,我们不得不提一下程序员素养,一个优秀的程序员需要拥有什么素养呢?是不是只需要打代码就可以了?答案当然是否定的。抛开其他素养不谈,我们这里只提以下5点。 +除了开源社区,我们不得不提一下程序员素养,一个优秀的程序员需要拥有什么素养呢?是不是只需要打代码就可以了?答案当然是否定的。抛开其他素养不谈,我们这里只提以下 5 点。 1. 扎实的专业技能 2. 团队精深和协作能力 @@ -16,12 +16,12 @@ 4. 需求理解能力 5. 模块化思维能力 -就开源社区而言,参与开源可以很好的锻炼程序员的以上5个素养。 +就开源社区而言,参与开源可以很好的锻炼程序员的以上 5 个素养。 ## 前言 -什么是开源,相信前面的章节已经说的非常清楚了。开源作为一种贡献技术的方式,对整个技术界和开源社区的正向回馈是巨大的。近10年来,越来越多的项目加入了开源界。其中有许许多多的知名开源项目被人所认可和追捧。操作系统 Linux,Android,编辑器Vim,Atom,VsCode,版本管理SVN,GIT,数据库Mysql,MongoDB,Redis,大数据平台Hadoop,ES,Hbase,容器Apache,Nginx,虚拟化软件Docker,K8S。这些列出来只是冰山的一个小角而已,还有很多这种耳熟能详的开源软件,他们共同形成了一个完整的开源生态,现在已经渗透到了各行各业。可以这么说,现在你电脑上用的软件,手机里用的app,你的吃住出行的背后,都有开源项目的支撑。没有了开源项目,这个世界根本不是现在这个样子。 +什么是开源,相信前面的章节已经说的非常清楚了。开源作为一种贡献技术的方式,对整个技术界和开源社区的正向回馈是巨大的。近 10 年来,越来越多的项目加入了开源界。其中有许许多多的知名开源项目被人所认可和追捧。操作系统 Linux,Android,编辑器 Vim,Atom,VsCode,版本管理 SVN,GIT,数据库 Mysql,MongoDB,Redis,大数据平台 Hadoop,ES,Hbase,容器 Apache,Nginx,虚拟化软件 Docker,K8S。这些列出来只是冰山的一个小角而已,还有很多这种耳熟能详的开源软件,他们共同形成了一个完整的开源生态,现在已经渗透到了各行各业。可以这么说,现在你电脑上用的软件,手机里用的 app,你的吃住出行的背后,都有开源项目的支撑。没有了开源项目,这个世界根本不是现在这个样子。 随着开源协作这种方式越来越被这个世界所认可,有很多的公司和个人开发者也加入了开源大家庭,他们把自己的技术沉淀,解决方案做成开源项目回馈给开源社区。如今的技术界,正因为有了开源,而变得不再是闭门造车,而是呈现出一种百家争鸣,欣欣向荣的景象。 @@ -42,7 +42,7 @@ ## 开源领导者&开源维护提交者 -之所以把这2个角色放一起来说,是因为有很多开源项目这2个角色是重叠的。毕竟像Linux那样拥有一整个开源团队的项目还是少数,很多开源项目的团队就几个人,那么领导者又同时是维护者。 +之所以把这两个角色放一起来说,是因为有很多开源项目这两个角色是重叠的。毕竟像 Linux 那样拥有一整个开源团队的项目还是少数,很多开源项目的团队就几个人,那么领导者又同时是维护者。 领导者这个角色,是对于开源项目的事务有着最终话语权的,这个角色能决定开源项目的发展方向,这个角色得为现有的版本和未来的版本作规划,结合使用者的反馈来决定下一版本该上什么样的特性,这个项目最终能达到的高度和解决什么样的问题。作为这层的角色,你需要去从大局观去考虑,作为项目的领导者,能获得的提升是全方位的,从项目所处的专业领域的发展,到每个特性关联的技术方向,再到怎么在社区内进行推广,怎么持续推进项目的进度。这些实际操作的过程累计的经验,能让你在任何一个项目中都能正确分析和决策,游刃有余。 @@ -64,13 +64,13 @@ ## 开源贡献者 -贡献者不光是写代码,如果你参与了某个开源项目,除了可以成为committer之外,你还可以帮助用户解答问题,贡献文档,在邮件列表中参与讨论。 +贡献者不光是写代码,如果你参与了某个开源项目,除了可以成为 committer 之外,你还可以帮助用户解答问题,贡献文档,在邮件列表中参与讨论。 -成为这个角色获得的提升有这些 +成为这个角色获得的提升有这些: 1)通过了解代码细节获得相关知识,成功的开源项目一定是能帮助开发者解决一块领域的问题的,了解作者如何做到这点的细节会对你有帮助。 -2)通过贡献文档来获得写文档的能力,代码写好不代表你文档就能写的很好,写代码反映的是你用技术解决问题的能力,而写文档反映的是你书面叙述解决方案的能力。 +2)通过贡献文档来获得写文档的能力,代码写得好不代表你文档就能写得很好,写代码反映的是你用技术解决问题的能力,而写文档反映的是你书面叙述解决方案的能力。 3)交流能力,开源项目面对的用户是其他开发者,开源项目的迭代一定是要使用者参与的。正确的处理使用者的反馈,通过交流听取使用者的建议,会使开源项目处于一个正向的循环中。 @@ -80,13 +80,13 @@ 这个角色作为社区成员,他们最有价值的部分是提出需求、报告缺陷、提出建议。 -作为使用者,获得的提升有这些 +作为使用者,获得的提升有这些: 1)能关注到开源社区新的技术方向,使用者肯定是认可开源这种协作方式的。长期关注开源社区,能让使用者长期紧跟社区最新的技术方向,这也能让你在选型企业级系统中间件的时候有很多选择。 2)通过使用开源项目,获得技术的提升。 -3)通过提出需求,报告缺陷让你企业级项目里的碰到的问题得到快速解决。也能促进开源项目的迭代。等于是贡献了社区。 +3)通过提出需求,报告缺陷让你企业级项目里的碰到的问题得到快速解决,也能促进开源项目的迭代,等于是贡献了社区。