查资源,学习优秀的框架,搜索是一种能力!

作为程序猿开发中最大的同性交友网站,github当之无愧,里面有很多优秀的开源框架,各种技术大佬混迹其中,有他们总结的学习教程,造好的轮子(开发的各种工具,技术框架),开源的项目等,我们能够从中借鉴学习,也可以获取灵感,或节省时间,完成任务等等。但是我们要从如此多的内容中找到优秀的和我们需要的,需要我们使用一些搜索技巧,缩小搜索范围,帮助我们更快搜索到相关的内容。

1、根据star,fork数筛选

例如我们在github上查找某个项目,评价其优秀与热门最直接的参数就是看这个项目被star(类似微博点赞,在个人主页可以查看自己点赞了哪些内容)了多少次,获得了多少认可,被fork了多少次(当你觉得这个项目不错时,可以fork这个项目源码到自己仓库中,但是在你仓库中存在的这个项目不会同步更新)。虽然一个优秀的项目不一定是star多,有可能暂时还没被其他人给发现,但根据这2个参数筛选却是我们简单有效的依据。

1, 大于等于
  语法: 关键字 stars:>= 数量 forks:>=数量
  例子: springboot stars:>=5000 //搜索springboot有关star数>=5000的内容
        springboot stars:>=5000 forks:>=5000//搜索springboot 的star>=5000,且fork数>=5000的内容
    可单独搜索,也可组合搜索,中间用空格隔开,是&(且)的关系。

如图1所示

2,范围查询
  语法: 关键字 stars:范围1..范围2
  例子: springboot stars:4000..5000
    //搜索star数在 4000到500的springboot相关内容,..相当于mysql中between and 的作用。
   

如图2所示

2、 关键字 in

搜索关键字在github上发布的位置 ,主要以下3个位置

  • name (发布的仓库名称)

  • description(指的是文章的摘要部分)

  • Readme (说明文档)

    语法 :关键字 in:
    例子 :netty in:name //查找名称中包含netty的内容
          netty in:name,description
          //逗号分隔,是 || (或)的关系,指的是查询名称,或者描述中包含netty的内容

3、awesome + 关键字

一般是指的学习,书籍,工具类,插件类相关的系列的集合。可以有效节约时间,找到别人收集好的内容。

awesome 指的是了不起的,碉堡了。

github 官方解释:
An awesome list is a list of awesome things curated by the community.
大致意思:社区组织维护的一系列非常棒的东西的集合。(差不多吧,哈哈,水平有限,谷歌翻译了解一下)

例如: awesome springboot

如图3所示

4、搜索某个语言,某个地区的大佬

例如: location:Beijing language:java 

例如: awesome springboot

如图4所示

5、常用快捷键

在github上 按 ?可调出快捷键页面,有些对我们还是非常有用的。
快捷键页面链接如下:

https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts

如图5所示

  • 查看源码利器 t

    在github 学习某个框架时,如果包的结构层级特别多,嫌一层层点进去麻烦,用 t ,该框架所有的类以列表形式平铺展开,方便查看
    如图6所示

  • s 键 (search)

    帮助快速聚焦在搜索框里,提高效率

6、 实现某行,某块代码高亮

在与其他人协作开发时,沟通时在给别人指出某行,或者某块代码,可以在github链接后面加上

1,#L23  //某行高亮
如:
https://github.com/unofficial-openjdk/openjdk/blob/jdk/jdk/test/jdk/sun/misc/GetSunMiscUnsafe.java#L36

如图7所示

2,#L23-35  //某个代码块
如:
https://github.com/unofficial-openjdk/openjdk/blob/jdk/jdk/test/jdk/sun/misc/GetSunMiscUnsafe.java#L36-L40

如图8所示

7、user

查询某位用户的相关内容,比如某位大佬

语法:user:名称

例子:user:ityouknow

赶快去尝试一下吧,其他功能自己探索了

参考:

https://www.iteye.com/blog/robbiefeng-2169967

01-05 22:05