查资源,学习优秀的框架,搜索是一种能力!
作为程序猿开发中最大的同性交友网站,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
赶快去尝试一下吧,其他功能自己探索了
参考: