作者:觉非

juejin.im/post/5e3d01c56fb9a07c91100801

很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了GitHub,想找个开源项目,进行学习,获取项目实战经验。这个时候很多小伙伴就会面临这样的问题:“我不会搜啊,我该怎么找呀?”,最终只能放弃。

相信看完这篇文章,你就可以学会如何精准地在GitHub搜索项目。

   开源项目的组成部分

在讲清楚之前呢,我们先来了解一下一个开源项目有哪些组成部分:

  • name: 项目名

  • description: 项目的简要描述

  • 项目的源码

  • README.md: 项目的详细情况的介绍

那么除了这些要素之外,项目本身的star数和fork数,也是评判一个开源项目是否火热的标准,这同时也是一个很重要的搜索标准。另外我们也要注意观察这个项目的最近更新日期,因为项目越活跃,那么它的更新日期也更加频繁。

以上要素就是我们在进行搜索的时候要注意的一些关键点。

   如何搜索

那我们到底如何搜索呢?

假设我们现在要搜索React,相信大部分小伙伴都是直接在搜索框里输入:“React”,然后一回车,你就会发现情况像下面这样:

搜索结果会显示非常多的开源项目,简直让你应接不暇,无从下手,很多小伙伴搜到这一步就放弃了,因为项目太多了,根本找不到如何找到自己感兴趣的开源项目,所以这样搜索非常的不准确。所以我们来学习一下稍微精确一点的搜索方法。

按照 name 搜索

搜索项目名里面包含React的项目:

in:name React

得到如下结果:

可以看到,这些搜索结果都是项目名里面带有“React”关键字的项目,但是项目数量依旧很多。

现在我们来约束一下

比如我再精确到项目的star数大于5000+:

in:name React stars:>5000

结果是这样的:

搜索结果瞬间精确了很多,现在只有114个项目可供选择。当然我们一般不会把star数设置得这么高,一般设置个1000就差不多了。

同理,我们也可以按照fork的数量来进行搜索:

in:name React stars:>5000 forks:>3000

你会发现,结果越来越精确!

按照 README 来搜索

搜索README.md里面包含React的项目:

 in:readme React

结果有这么多,那么我们再限制一下它的star数和fork数:

in:readme React stars:>3000 forks:>3000

搜索结果一下子精确到了90个。这个时候你再去选择项目,就会变得容易很多。

按照 descriptin 搜索

假设我们现在要学习微服务的项目,我们搜索项目描述(description)里面包含微服务的项目:

in:description 微服务

结果有这么多,那我们接着增加一些筛选条件:

in:description 微服务 language:python 

language:python的意思是我们把语言限制为python,我们来看看结果如何:

搜索结果精确了很多。

假如在这些项目里面,我们想要找到最近才更新的项目,意思是更新时间就在最近,我们可以这样:

in:description 微服务 language:python pushed:>2020-01-01

pushed:>2020-01-01的意思是我们把项目的最后更新时间限制到2020-01-01,我们来看看结果如何:

搜索结果只有8个了,这几个项目就属于更新比较活跃的项目,这下再也不纠结了。

   总结

好,我们来总结一下。我们想要进行精准搜索,无非就是增加筛选条件。

  1. in:name xxx // 按照项目名搜索

  2. in:readme xxx // 按照README搜索

  3. in:description xxx // 按照description搜索

那么在这里面呢,我们又可以增加筛选条件

  1. stars:>xxx // stars数大于xxx

  2. forks:>3000 // forks数大于xxx

  3. language:xxx // 编程语言是xxx

  4. pushed:>YYYY-MM-DD // 最后更新时间大于YYYY-MM-DD

以上就是我们在GitHub上面精准搜索项目的一些小技巧,希望对你有所帮助!

来和小伙伴们一起向上生长呀!
扫描下方二维码,添加小詹微信,可领取千元大礼包并申请加入 Python 学习交流群,群内仅供学术交流,日常互动,如果是想发推文、广告、砍价小程序的敬请绕道!一定记得备注「交流学习」,我会尽快通过好友申请哦!????长按识别,添加微信
(添加人数较多,请耐心等待)????长按识别,关注小詹
(扫码回复 1024 领取程序员大礼包)

想知道吗,如何在Github上精准地找到想要的开源项目?相关推荐

  1. 如何在Github上精准地找到想要的开源项目?

    点击上方蓝色"视学算法",选择"设为星标" 作者 | 觉非 来源 | juejin.im/post/5e3d01c56fb9a07c91100801 很多的小伙 ...

  2. 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目

    原文:http://www.techweb.com.cn/news/2017-07-31/2566452.shtml 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目 2017. ...

  3. GitHub上最火的40个Android开源项目(二)

    在<GitHub上最火的40个Android开源项目(一)>中,我们详细地介绍了GitHub上最受欢迎的TOP20 Android开源项目,引起了许多读者的热议,作为开发者,你最常用的是哪 ...

  4. GitHub上最火的40个iOS开源项目(二)

    http://www.open-open.com/lib/view/open1388316950609.html GitHub上最火的40个Android开源项目(一) GitHub上最火的40个An ...

  5. GitHub上最火的40个iOS开源项目(一)

    http://www.open-open.com/lib/view/open1388317004500.html 在结束了GitHub平台上"最受欢迎的Android开源项目"系列 ...

  6. GitHub上最火的74个Android开源项目(三)

    http://www.open-open.com/lib/view/open1388317075000.html GitHub上最火的40个Android开源项目(一) GitHub上最火的40个An ...

  7. GitHub上最火的40个Android开源项目(一)

    http://www.open-open.com/lib/view/open1388317199516.html GitHub上最火的40个Android开源项目(一) GitHub上最火的40个An ...

  8. GitHub上最火的40个iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

  9. GitHub上最火的22个Android开源项目源码(最少的一个也超过10k star)

    GitHub上最火的22个Android开源项目源码均超万星 chat图表 最全android工具类库 29.6k start Android智能下拉刷新框架-SmartRefreshLayout 2 ...

最新文章

  1. k-median聚类算法【基本概念篇】
  2. Mathematica初学者第二讲
  3. WIF基本原理(2)基于声明的标识模型
  4. python实现将给定列表划分为(等长的/不等长)的元素和大致相等的两个子列表
  5. sigar取得进程信息
  6. idea设置java环境变量_idea的环境变量怎样设置
  7. 听韩顺平聊PHP初学者如何变身大牛(一)?
  8. (概论)java web后台开发跟手机APP后台开发有什么不同
  9. Machine Learning - Coursera 吴恩达机器学习教程 Week4 学习笔记
  10. 转--关于引擎优化的相关资料
  11. 扫雷算法实现(简易版,只能在CMD指令中玩)
  12. 【mud】call_out()函数
  13. [学习SLAM] 3D可视化 只viz模块和pangolin
  14. canvas之-------水滴扩散特效
  15. Mac平台直播推流搭建
  16. [转贴]AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系
  17. 系统软件开发基础知识
  18. 香港--身份证(本国人)正则表达式
  19. ORA-1688: unable to extend table AUDSYS.AUD$UNIFIED
  20. 云台山茶旅集团游客游玩横店之旅有感

热门文章

  1. 想拿下互联网大厂OFFER,都需要准备什么?
  2. PHP实现数组中两个数的和等于给定的目标值
  3. ELK学习7_ELK文档资料:《ELK stack 权威指南/饶琛琳》勘误
  4. Go使用go-clickhouse库
  5. Golang类型转化方法汇总
  6. JS的parseInt
  7. mysql 过程 的函数的区别是什么意思_Mysql中存储过程和函数的区别是什么
  8. windows设置右键sublime Text3
  9. linux 条件变量函数,Linux线程同步之条件变量
  10. 码农和程序员等的差别