From 148db3877baf0afec9df09a6fe467600997448f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E5=9F=BA=E7=B1=B3=E4=B8=9C?= <870179822@qq.com> Date: Mon, 16 Nov 2020 14:10:49 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=8C=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=AD=A6=E4=B9=A0=E5=92=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE/=E5=A6=82=E4=BD=95?= =?UTF-8?q?=E6=89=BE=E5=88=B0=E9=80=82=E5=90=88=E8=87=AA=E5=B7=B1=E5=AD=A6?= =?UTF-8?q?=E4=B9=A0=E5=92=8C=E4=BD=BF=E7=94=A8=E7=9A=84=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00\346\272\220\351\241\271\347\233\256.md" | 91 ++++++++++++++++--- 1 file changed, 80 insertions(+), 11 deletions(-) diff --git "a/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\246\202\344\275\225\346\211\276\345\210\260\351\200\202\345\220\210\350\207\252\345\267\261\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256.md" "b/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\246\202\344\275\225\346\211\276\345\210\260\351\200\202\345\220\210\350\207\252\345\267\261\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256.md" index 493f80f..f7e238e 100644 --- "a/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\246\202\344\275\225\346\211\276\345\210\260\351\200\202\345\220\210\350\207\252\345\267\261\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256.md" +++ "b/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\246\202\344\275\225\346\211\276\345\210\260\351\200\202\345\220\210\350\207\252\345\267\261\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256.md" @@ -1,28 +1,31 @@ -## 1. 技术栈 +## 关键指标 + +### 1. 技术栈 + 首先要明白自己的技术栈是什么,使用什么语言或框架做开发。通过首页的关键字搜索,选择相对应的技术栈。其次要明白自己的水平,选择相对应水平的开源项目,能够更好的学习。对于项目的源代码,学习初期,可以不做深入的学习,只需要了解项目的大概架构。 -## 2. Star 数量 +### 2. Star 数量 首页关键字搜索之后,一般来说会优先按照 Star 数量来排序,Star 数量高不代表一定是最好的,但起码说明这个项目的受欢迎程度,否则不会有那么多人 Star 这个项目 。在开源的项目上得一个 Star 远比在微信上获得一次「赞赏」难的多。 -## 3. 项目作者 +### 3. 项目作者 -Star 数量相差不多的情况下,可以看项目作者的影响力,。有影响力的人不一定是最好的选择,但起码不会不靠谱。同时也可以看一下作者之前的作品,优秀且靠谱的作者,项目大多都是受人欢迎程度高的,可信赖的。当然,一般来说公司项目是优先于个人项目的,毕竟公司的开发实力是要强于个人的,同时公司的项目安全性,可靠性也是优于个人开发者的。 +Star 数量相差不多的情况下,可以看项目作者的影响力。有影响力的人不一定是最好的选择,但起码不会不靠谱。同时也可以看一下作者之前的作品,优秀且靠谱的作者,项目大多都是受人欢迎程度高的,可信赖的。当然,一般来说公司项目是优先于个人项目的,毕竟公司的开发实力是要强于个人的,同时公司的项目安全性,可靠性也是优于个人开发者的。 -## 4. README.md +### 4. README.md -README.md 是关于项目的文档说明,在这个文件中会详细说明 **项目名及简介**,**项目背景**,**项目 Logo 和使用截图**,**项目的功能点**,**体验地址**,**如何下载这个项目**, **安装项目所需依赖** , **如何安装** , **如何部署** ,以及 **Debug 方法** 。 +README.md 是关于项目的文档说明,在这个文件中会详细说明 **项目名及简介**,**项目背景**,**项目 Logo 和使用截图**,**项目的功能点**,**体验地址**,**如何下载这个项目**, **安装项目所需依赖** , **如何安装** , **如何部署** ,以及 **Debug 方法** 。通常来说,README.md 的详细程度和美观程度与该项目的靠谱程度成正比。 -## 5. 项目的最后更新时间 +### 5. 项目的最后更新时间 对于开源项目来说最怕的是作者不维护,这就意味着之后再也不会有改进了,并且出了问题也很难被迅速解决。项目的更新时间频繁,更新日期近,就意味着项目的作者还在维护。 -## 6. Issues 和 Fork +### 6. Issues 和 Fork -Issues 数量多,作者回复速度快, Forks 数量多都是体现该项目被关注程度以及流行程度。 +Issues 数量多,作者回复速度快,Forks 数量多都是体现该项目被关注程度以及流行程度。 -## 7. 开源协议 +### 7. 开源协议 使用开源项目也要遵守一定的原则的,即所谓的开源协议,常见的开源许可协议有: @@ -30,6 +33,72 @@ GPL、LGPL、BSD、Apache Licence vesion 2.0、MIT。 这些协议不做过多解释。目前为止 MIT 应该算是用的最多的开源协议了,它的开放度最广,只要求基于此项目的项目也附带一份 MIT 协议即可(协议中有原作者的名字),也就是要求保留署名。通常来说,如果你的开源项目里面的源码没有任何所谓,只想专心写代码,附上一份 MIT 协议是最省心省力的选择。 -## 8. 总结 +### 8. 总结 综合评估的指标下,选择一个相对来说成熟并且适合你自己的就好了。 + + + +## 如何搜索 + +### 在 GitHub 上搜索信息 + +当我们知道自己要找的技术栈、编程语言或框架等关键要素之后,我们就可以通过搜索引擎或在代码托管平台上进行搜索。以 GitHub 为例,除了直接搜索关键字,GitHub 还提供了许多条件搜索功能,善用这些功能,可以更加快速有效地找到我们想要的、优质的开源项目。比如: + +1. 匹配含有 "cats" 字样、星标超过 1000 个的仓库。 + + ``` + cats stars:>1000 + ``` + +2. 匹配含有 "vue" 字样、有 5 个或更多主题的仓库。 + + ``` + vue topics:>=5 + ``` + +3. 匹配含有 "node" 字样,有 10,000 或更多关注者的仓库。 + + ``` + node followers:>=10000 + ``` + +4. 匹配已归类为 "algorithm" 主题的仓库 + + ``` + topic:algorithm + ``` + +5. 匹配遵循 Apache License 2.0 授权的仓库 + + ``` + license:apache-2.0 + ``` + +6. 匹配项目自述文件中提及 "arduino" 的仓库。 + + ``` + arduino in:readme + ``` + +7. 搜索地址位于中国,且拥有超过 5000 名关注者的开发者。 + + ``` + location:china followers:>5000 + ``` + +更多搜索语法相关内容,请查阅 GitHub Docs 文档 [在 GitHub 上搜索信息](https://docs.github.com/cn/free-pro-team@latest/github/searching-for-information-on-github)。 + + +### 关注 GitHub 趋势榜 + +在 [github.com/trending](https://github.com/trending) 页面可以了解每天、每周、每月 GitHub 社区里最激动人心的仓库和作者,经常关注 GitHub 趋势榜,更容易找到适合自己学习和使用的优质项目。 + +### 使用 GitHub 智能推荐 + +如果你已经在 GitHub 有所积累,那么可以在 [github.com/explore](https://github.com/explore) 页面找到 GitHub 根据你的兴趣为你推荐的一些项目。相对来说,技术栈的相关性更强一些。 + +### GitHub 中文社区 + +对于新手来说,还有一个不错的选择 —— 通过 [GitHub 中文社区](https://www.githubs.cn/) 进行搜索。该站点整合了 GitHub 热门趋势、精选项目、排行榜、分类搜索等功能,同样可以帮助我们更快地找到想要的优质项目。 + -- Gitee