大家都知道,想学好编程、丰富简历、提升求职竞争力,一定要多敲代码做项目。
说到项目,我最近收到了很多小伙伴的私信和困惑,最常见的是以下两个情况:
-
不知道到哪儿去找编程项目,只能四处求人
-
网上的编程项目太多,不知道哪些项目值得学习
那这篇文章就教大家如何高效找到优秀编程项目。
读完本文,不仅能帮助你告别伸手党,甚至还能让你成为一个项目分享大神!
下面我们依次去解决四个问题:
-
到哪儿去找项目?
-
什么是好的项目?
-
怎么高效找项目?
-
怎么高速下载项目?
到哪儿去找项目?
有很多获取项目的途径,比如书上习题、网络课程、线下培训等,但最好的找项目的地方一定是 GitHub,程序届人尽皆知的代码开源托管平台。
在这里,你可以找到各种各样的开源项目,大到世界知名框架、小到个人练习片段,还能和他人一起协作完成项目。利用好 GitHub,可以大大开拓你的眼界,提升编程学习能力。
这里提及另外两个找项目的平台,即 Gitee(码云)和开源中国。Gitee 其实就是国内版的 GitHub,但项目数远不及 GitHub;而开源中国和 Gitee 有非常紧密的合作,将一些开源项目进行了整理分类。
GitHub 平台是非常大的,在这里,每天有无数个新项目产生、有数亿行代码被提交,让人眼花缭乱、迷失方向。那么如何从海量的项目中大浪淘沙,快速发现那些优秀的、或者极具潜力的开源项目呢?
首先我们要明确什么是好的项目。
什么是好的项目?
虽说没有最好的项目,只有最适合自己的项目。但是在 GitHub 上,通过一些指标和信息,也可以对开源项目进行基本的评判。
进入一个项目的详情页,一个好的项目通常具有如下特点:
-
更多的 watch,表示对项目的关注度高
-
更多的 star(收藏),对项目实用性的肯定
-
更多的 Fork(派生搬运),表示想要学习项目或做贡献
-
积极的 issues(问题),表示更多人使用项目并希望改进
-
积极的 Pull requests(代码合并请求),表示更多人愿意合作贡献代码
-
频繁更新最近提交时间,表示项目仍在维护
-
可直接访问的官网,更正式
-
类别标签明确,帮助开发者对项目进行定位
再往下看,一个好的项目的 README.md(项目描述)文件通常会更清晰和完善,比如 Ant Design 提供了多种语言的文档:
明确了优秀项目的特点后,如何高效地在 GitHub 上找项目呢?
怎么高效找项目?
下面分享查找 GitHub 优秀项目的高级技巧和免费资源,多达 数十种!选择自己适合的即可。
GitHub 搜索
GitHub 既然收录了那么多项目,自然也会提供一套帮助你找项目的搜索机制,运行好搜索机制,可以灵活高效地找到适合自己的项目。
可以直接输入关键词搜索,再配合排序规则,能够较方便地找到优秀项目。
大多数情况下,简单搜索就够了,但有时,排名最靠前的项目未必是我们需要的。比如有一个曾经很知名的项目,却停止维护多年,我们也不敢轻易去使用它。
GitHub 还提供了条件搜索,通过输入特定的搜索表达式,来实现更高精度的过滤,从而找到更符合预期的项目。
比如搜索自述文件中包含 jquery、star 超过 1000、且上次更新时间在几年内的仓库:
有很多过滤条件,但是 完全无需记忆!因为 GitHub 提供了 高级搜索,可以自动生成搜索表达式:
还可以通过 GitHub 文档(docs.github.com)来浏览所有的搜索条件。
Explore GitHub
GitHub 官方探索,基于兴趣为你推荐开源项目,精准度很高!
Topics on GitHub
GitHub 官方提供的项目主题分类,帮助你找到合适的项目。
GitHub Awesome
GitHub 官方提供的 Awesome 合集,帮助你发现特定标签的资源大全。
Awesome 项目是指由社区同学共同贡献而成的项目,包含了某一技术的完整生态(如优秀开源项目、类库、工具、知识点)。比如awesome-java(https://github.com/akullpp/awesome-java)、awesome-vue(https://github.com/vuejs/awesome-vue)。建议大家多看awesome项目,学习和查漏补缺都是极好的~
GitHub 官方 Trending
GitHub官方提供的项目趋势统计,能够看到一段时间内项目和开发者新增star数的排行。还支持选择语言、编程语言及时间范围,帮你发现优秀、有潜力的开源项目。
HelloGitHub
分享 GitHub 上有趣、入门级的开源项目。这里有各种语言的开源项目、让生活变得更美好的工具、书籍、学习笔记、教程等。通过这些项目你将学习到更多编程知识、提高自己的编程技巧、发现编程的乐趣。
GitHub Trending
GitHub 趋势统计,帮助你寻找最好的Github项目,支持选择特定的语言来筛选项目。
Gitstar Ranking
非官方的 GitHub 排行榜,按照 star 数进行排序,支持个人、组织和项目排行。能够发现成熟又活跃的优秀项目。
Githuber.cn
发现优秀 GitHub 开发者的网站,可以查看国内仓库语言使用情况统计、GitHub 开发者排名等,还能查看自己的排名哦~
searchcode
如果你想搜索代码片段,可以使用 searchcode,简单全面的开源代码搜索器,一键在 40 万个项目、750 亿行代码中高效搜索,还提供 API 接口。帮助您在 243 个语言中找到函数、API 和库的示例,跨越 GitHub 等 10 个公共代码来源!还可以使用其提供的 API 接口,给网站添加代码搜索功能。
LibHunt
汇集了 GitHub 上实用的开源项目和软件类库,让编程人员快速发现好的项目。支持近 20 种不同编程语言的项目,以及各种热门标签,可以快速搜索,还能查看项目热度。
codelf
虽然是变量命名神器,但由于其底层基于 searchcode 开发,因此也可以用于快速搜索代码和项目。
输入关键词后,可以选择和关键词相关的标签,一键跳转至项目代码。
怎么高速下载项目?
由于 GitHub 是国外的网站,所以有时我们下载 GitHub 项目的速度非常慢,这里教大家几种提升下载速度的方式。
GitClone
GitHub 缓存加速网站,为开发者服务。直接在命令行更改仓库地址即可使用,上手方便,缓存节点多,是最推荐的一种方式!
GitHub 加速下载工具
网上有很多在线的 GitHub 加速下载工具,使用起来都很方便。
Gitee 导入
可以直接在 Gitee(国内版 GitHub)创建仓库,并选择从 GitHub 导入。Gitee 会自动将代码从 GitHub 进行同步,然后你就可以在 Gitee 以更快的速度来下载和管理项目代码。
以上就是发现优质编程项目的分享,如果想要彻底玩转 GitHub,建议阅读 GitHub 官方文档。
如果想要给项目贡献代码,掌握版本控制工具 Git 的用法也是至关重要的,后面会分享 Git 相关的学习资源。
全部评论
(3) 回帖