有偿问答
面经分享
技术探讨
资料领取
登录
你会在 GitHub 上面找项目吗?我会哦!
社长
1年前
⋅ 437 阅读
> 公众号:**[MarkerHub](https://t.1yb.co/j0io)**,网站:[https://markerhub.com](https://markerhub.com) > 作者:觉非 > > 来源:juejin.im/post/5e3d01c56fb9a07c91100801#heading-5 很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了 GitHub,想找个开源项目,进行学习,获取项目实战经验。这个时候很多小伙伴就会面临这样的问题:“我不会搜啊,我该怎么找呀?”,最终只能放弃。 这篇文章,小编教你精准地在 GitHub 搜索项目。 **开源项目的组成部分** ------------- 在讲清楚之前呢,我们先来了解一下一个开源项目有哪些组成部分: * name: 项目名 * description: 项目的简要描述 * 项目的源码 * README.md: 项目的详细情况的介绍 那么除了这些要素之外,项目本身的 star 数和 fork 数,也是评判一个开源项目是否火热的标准,这同时也是一个很重要的搜索标准。另外我们也要注意观察这个项目的最近更新日期,因为项目越活跃,那么它的更新日期也更加频繁。 以上要素就是我们在进行搜索的时候要注意的一些关键点。 **如何搜索** -------- 那我们到底如何搜索呢? 假设我们现在要搜索 React, 相信大部分小伙伴都是直接在搜索框里输入:“React”,然后一回车,你就会发现情况像下面这样: ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/0781cdcf1731489b8cd460f039e1f9b0.png) 搜索结果会显示非常多的开源项目,简直让你应接不暇,无从下手,很多小伙伴搜到这一步就放弃了,因为项目太多了,根本找不到如何找到自己感兴趣的开源项目,所以这样搜索非常的不准确。所以我们来学习一下稍微精确一点的搜索方法。 ### **按照 name 搜索** 搜索项目名里面包含 React 的项目: ``` in:name React ``` 得到如下结果: ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/ecf51145b526422194568a766cbc442d.png) 可以看到,这些搜索结果都是项目名里面带有 “React” 关键字的项目,但是项目数量依旧很多。 现在我们来约束一下 比如我再精确到项目的 star 数大于 5000+: ``` in:name React stars:>5000 ``` 结果是这样的: ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/11a3856bf9d843faa992fd8d6b26acd7.png) 搜索结果瞬间精确了很多,现在只有 114 个项目可供选择。当然我们一般不会把 star 数设置得这么高,一般设置个 1000 就差不多了。 同理,我们也可以按照 fork 的数量来进行搜索: ``` in:name React stars:>5000 forks:>3000 ``` ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/769df4a9dc724f488be48b11d2b38f3d.png) 你会发现,结果越来越精确! ### **按照 README 来搜索** 搜索 README.md 里面包含 React 的项目: ``` in:readme React ``` ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/1d8b429a70fa4f31bc61b5e5704957d8.png) 结果有这么多,那么我们再限制一下它的 star 数和 fork 数: ``` in:readme React stars:>3000 forks:>3000 ``` ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/42230e56bfcf40119ffcbda4c07d7344.png) 搜索结果一下子精确到了 90 个。这个时候你再去选择项目,就会变得容易很多。 ### **按照 descriptin 搜索** 假设我们现在要学习微服务的项目,我们搜索项目描述 (description) 里面包含微服务的项目: ``` in:description 微服务 ``` ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/d10073b9d7a144a184f00cc949d60e08.png) 结果有这么多,那我们接着增加一些筛选条件: ``` in:description 微服务 language:python ``` language:python 的意思是我们把语言限制为 python,我们来看看结果如何: ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/0ba03c833299493ba3662e9f43c89e20.png) 搜索结果精确了很多。 假如在这些项目里面,我们想要找到最近才更新的项目,意思是更新时间就在最近,我们可以这样: ``` in:description 微服务 language:python pushed:>2020-01-01 ``` pushed:>2020-01-01 的意思是我们把项目的最后更新时间限制到 2020-01-01,我们来看看结果如何: ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20210310/aaade7b550a84b8da6460a4b67623265.png) 搜索结果只有 8 个了,这几个项目就属于更新比较活跃的项目,这下再也不纠结了。 **总结** ------ 好,我们来总结一下。我们想要进行精准搜索,无非就是增加筛选条件。 * in:name xxx // 按照项目名搜索 * in:readme xxx // 按照 README 搜索 * in:description xxx // 按照 description 搜索 那么在这里面呢,我们又可以增加筛选条件 * stars:>xxx // stars 数大于 xxx * forks:>3000 // forks 数大于 xxx * language:xxx // 编程语言是 xxx * pushed:>YYYY-MM-DD // 最后更新时间大于 YYYY-MM-DD 以上就是我们在 GitHub 上面精准搜索项目的一些小技巧,希望对你有所帮助! **推荐阅读** [太赞了,这个Java网站,什么项目都有!https://markerhub.com](https://markerhub.com) [这个B站的UP主,讲的java真不错!](https://space.bilibili.com/13491144) [太赞了!最新版Java编程思想可以在线看了!](https://mp.weixin.qq.com/s/jGEkHTf2X8l-wUenc-PpEw)
阅读全部
全部评论:
0
条
我有话说:
@
发送
-- 目录 --
关注官方公众号:
Java问答社
接收最新有赏问答推送!
最新发布
1.
SpringBoot 接口数据加解密技巧,so easy!
2.
一个依赖搞定 Spring Boot 反爬虫,防止接口盗刷!
3.
Java8 Stream 极大简化了代码,它是如何实现的?
4.
马上大四了,秋招还是春招好?先找工作还是找实习?
5.
万字详解 Linux 常用指令(值得收藏)
6.
4年工作经验,多线程间的5种通信方式都说不出来,你敢信?
最新评论
部署文档没有了,您能提供下吗
部署文档没有了,能提供下吗
我测你的🐎
源码从哪里获取请问
想学
那篇石墨文档 没有权限查看哇