作为程序员,不论是开发还是学习,肯定会用到开源项目,那么怎么快速在开源网站找到这些项目呢?
-
常用的开源网站有:github 和 gitee
-
github是全球最大的开源社区,今天就以github为例,演示一下
-
github界面
-
一般来说,优秀的项目,维护会比较频繁,提交数也就会多一点。当然,一个好的项目,它的
Star
数和Fork
数也会比较多。
普通人搜索的方式
1、打开github
2、输入关键词,搜出来一堆的项目,随便浏览一下,简单看一下README文档。嗯,感觉还不错的样子!
3、然后就是克隆仓库,看一下源码,发现看不懂,内心OS:这是给人看的吗?删了删了!
用这种方法想要找到适合自己的开源项目,跟大海捞针没什么区别。只会一次次的浪费时间,也会消耗自己的耐心和精力,到最后干脆摆烂躺平了。
不过在看这篇文章的你,肯定不想这样啦!那么下面的10个github
高级搜索技巧,赶紧学起来吧!
10个高级搜索技巧
⑴、通过in
关键词搜索
in关键词可以用来限制搜索范围,精准搜索仓库名称name,说明description 以及README 文件中的内容。description 就是github界面图中, About 中的信息。
下面以搜索spring boot
相关的项目为例:
-
如果直接在搜索栏输入
spring boot
并回车,会搜到46w个结果
-
做一个限制,这次搜索项目名里含有 spring boot 的
in:name spring boot
看到没有,数量马上又46w降到29.5w,但是项目数量还是太多了。没关系,我们可以再加其他的搜索限制,接着往下看!
⑵、通过 stars、forks 数量搜索
一个优秀的项目 star 数量和 fork 数量肯定不会少,那么我可以使用 大于
某个数,或者在某个范围之间
的方式来过滤项目:
-
按照星标数量搜索:语法:
关键字 stars:>=数量
或关键字 stars:数量1..数量2
-
按照分支数量搜索:语法:
关键字 forks:>=数量
或关键字 forks:数量1..数量2
-
我们进一步限制搜索范围,要求star数量大于2000,数量马上变成只有31个
in:name spring boot starts:>2000
-
再要求fork数量大于1000,满足要求的项目数量更少了,只有19个
in:name spring boot starts:>2000 forks:>1000
⑶、按项目创建时间、更新时间搜索
如果优秀项目比较多,相信大家都会喜欢最新的项目,那么就可以把老旧的项目筛选出去。
要是本来就没几个项目供你选,就没必要做这一步了。
-
按照项目创建时间搜索:语法:
关键字 created:>=日期
-
按照项目更新时间搜索:语法:
关键字 pushed:>=日期
-
演示:
⑷、按照地区、编程语言搜索
-
一般我们都是想找到自己会的编程语言写的项目,否则还得专门去学一遍语言才能看懂,那岂不是兜了一大圈。
-
另外,要是项目有中文的文档说明,就更好了!(虽然很多优秀的项目都是用英文写的,程序员不能排斥学习英语呀!)
-
按照地区搜索:语法:
location:地区 关键字
-
按照编程语言搜索:语法:
language:编程语言 关键字
-
例如使用 python 编程语言,且star数量大于1000的国产项目,搜索条件就是:location:china language:python stars:>1000
⑸、按文件名、仓库大小、扩展名搜索
-
凡事都是从易到难,一开始我们更倾向于找一些小型的项目来学习,那么可以用
size
来筛选一些简单点的项目。
-
按照文件名搜索:语法:
关键字 filename:文件名
-
按照仓库大小搜索:语法:
关键字 size:>=大小
-
按照扩展名搜索:语法:
关键字 extension:扩展名
-
举个例子:
data analysis size:<5000 extension:py
⑹、按文件、路径内容搜索
-
按照文件内容搜索:
语法:
关键字 in:file 搜索内容
-
按照路径内容搜索:
语法:
关键字 path:路径/to/search
例子: 假设你想要查找包含 "authentication" 内容的文件,并且这些文件位于名为 src/
的路径下,你可以使用如下搜索条件
-
authentication in:file path:src/
⑺、根据某个人或组织进行搜索
-
这个可以用来精准搜索你关注的大神是不是提交了新的项目
-
搜索特定个人的项目:语法:
user:用户名 关键字
-
搜索特定组织的项目:语法:
org:组织名 关键字
⑻、根据仓库的LICENSE搜索
在使用任何开源项目之前,最好详细阅读并理解项目所采用的具体授权协议,因为有的开源项目作者是明确禁止商用的,如果你使用在商业上,后面会很麻烦的!
按照许可证搜索:
-
语法:
license:许可证类型 关键字
⑼、awesome加强搜索
-
awesome
往往整合了大量的同一领域的资料,收集学习、工具、书籍类相关的项目,方便大家更好的学习。 -
比如搜索优秀的java相关的项目,包括框架、教程等
awesome java
⑽、热门搜索(GitHub Trend 和 GitHub Topic)
-
GitHub Trend 允许你查看当前在 GitHub 上受欢迎的项目,根据不同的编程语言和时间范围进行筛选
-
GitHub Topic 是一种对项目进行标签分类的方式。GitHub 上的项目可以被分配到不同的主题标签,使得你可以通过主题来浏览和发现项目。
以上就是关于高效寻找开源项目的全部内容了!
文章转载自:知微之见
原文链接:https://www.cnblogs.com/Wayne123/p/18046322
体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构