10個技巧,3分鐘教會你高效尋找開源項目

作為程序員,不論是開發還是學習,肯定會用到開源項目,那么怎么快速在開源網站找到這些項目呢?

  • 常用的開源網站有:github 和 gitee

  • github是全球最大的開源社區,今天就以github為例,演示一下

  • github界面

  • 一般來說,優秀的項目,維護會比較頻繁,提交數也就會多一點。當然,一個好的項目,它的Star數和Fork數也會比較多。

普通人搜索的方式

1、打開github

2、輸入關鍵詞,搜出來一堆的項目,隨便瀏覽一下,簡單看一下README文檔。嗯,感覺還不錯的樣子!

3、然后就是克隆倉庫,看一下源碼,發現看不懂,內心OS:這是給人看的嗎?刪了刪了!

心累

用這種方法想要找到適合自己的開源項目,跟大海撈針沒什么區別。只會一次次的浪費時間,也會消耗自己的耐心和精力,到最后干脆擺爛躺平了。

不過在看這篇文章的你,肯定不想這樣啦!那么下面的10個github高級搜索技巧,趕緊學起來吧!

10個高級搜索技巧

⑴、通過in關鍵詞搜索

in關鍵詞可以用來限制搜索范圍,精準搜索倉庫名稱name,說明description 以及README 文件中的內容。description 就是github界面圖中, About 中的信息。

下面以搜索spring boot相關的項目為例:

  • 如果直接在搜索欄輸入spring boot并回車,會搜到46w個結果

  • 做一個限制,這次搜索項目名里含有 spring boot 的

    in:name spring boot

? 看到沒有,數量馬上又46w降到29.5w,但是項目數量還是太多了。沒關系,我們可以再加其他的搜索限制,接著往下看!

⑵、通過 stars、forks 數量搜索

一個優秀的項目 star 數量和 fork 數量肯定不會少,那么我可以使用?大于某個數,或者在某個范圍之間的方式來過濾項目:

  1. 按照星標數量搜索:語法:?關鍵字 stars:>=數量?或?關鍵字 stars:數量1..數量2

  2. 按照分支數量搜索:語法:?關鍵字 forks:>=數量?或?關鍵字 forks:數量1..數量2

  • 我們進一步限制搜索范圍,要求star數量大于2000,數量馬上變成只有31個

    in:name spring boot starts:>2000

stars大于2000

  • 再要求fork數量大于1000,滿足要求的項目數量更少了,只有19個

    in:name spring boot starts:>2000 forks:>1000

⑶、按項目創建時間、更新時間搜索

如果優秀項目比較多,相信大家都會喜歡最新的項目,那么就可以把老舊的項目篩選出去。

要是本來就沒幾個項目供你選,就沒必要做這一步了。

  1. 按照項目創建時間搜索:語法:?關鍵字 created:>=日期

  2. 按照項目更新時間搜索:語法:?關鍵字 pushed:>=日期

  • 演示:

pushed

⑷、按照地區、編程語言搜索

  • 一般我們都是想找到自己會的編程語言寫的項目,否則還得專門去學一遍語言才能看懂,那豈不是兜了一大圈。

  • 另外,要是項目有中文的文檔說明,就更好了!(雖然很多優秀的項目都是用英文寫的,程序員不能排斥學習英語呀!)

  1. 按照地區搜索:語法:?location:地區 關鍵字

  2. 按照編程語言搜索:語法:?language:編程語言 關鍵字

  • 例如使用 python 編程語言,且star數量大于1000的國產項目,搜索條件就是:location:china language:python stars:>1000

⑸、按文件名、倉庫大小、擴展名搜索

  • 凡事都是從易到難,一開始我們更傾向于找一些小型的項目來學習,那么可以用size來篩選一些簡單點的項目。

  1. 按照文件名搜索:語法:?關鍵字 filename:文件名

  2. 按照倉庫大小搜索:語法:?關鍵字 size:>=大小

  3. 按照擴展名搜索:語法:?關鍵字 extension:擴展名

  • 舉個例子:data analysis size:<5000 extension:py

⑹、按文件、路徑內容搜索

  1. 按照文件內容搜索:

    語法:?關鍵字 in:file 搜索內容

  2. 按照路徑內容搜索:

    語法:?關鍵字 path:路徑/to/search

例子:?假設你想要查找包含 "authentication" 內容的文件,并且這些文件位于名為?src/?的路徑下,你可以使用如下搜索條件

  • authentication in:file path:src/

文件名,路徑搜索

⑺、根據某個人或組織進行搜索

  • 這個可以用來精準搜索你關注的大神是不是提交了新的項目

  1. 搜索特定個人的項目:語法:?user:用戶名 關鍵字

  2. 搜索特定組織的項目:語法:?org:組織名 關鍵字

torvalds

⑻、根據倉庫的LICENSE搜索

在使用任何開源項目之前,最好詳細閱讀并理解項目所采用的具體授權協議,因為有的開源項目作者是明確禁止商用的,如果你使用在商業上,后面會很麻煩的!

按照許可證搜索:

  • 語法:?license:許可證類型 關鍵字

⑼、awesome加強搜索

  • awesome?往往整合了大量的同一領域的資料,收集學習、工具、書籍類相關的項目,方便大家更好的學習。

  • 比如搜索優秀的java相關的項目,包括框架、教程等

awesome java

⑽、熱門搜索(GitHub Trend 和 GitHub Topic)

  • GitHub Trend 允許你查看當前在 GitHub 上受歡迎的項目,根據不同的編程語言和時間范圍進行篩選

  • GitHub Topic 是一種對項目進行標簽分類的方式。GitHub 上的項目可以被分配到不同的主題標簽,使得你可以通過主題來瀏覽和發現項目。

以上就是關于高效尋找開源項目的全部內容了!

文章轉載自:知微之見

原文鏈接:https://www.cnblogs.com/Wayne123/p/18046322

體驗地址:引邁 - JNPF快速開發平臺_低代碼開發平臺_零代碼開發平臺_流程設計器_表單引擎_工作流引擎_軟件架構

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714862.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【vue】vue中數據雙向綁定原理/響應式原理,mvvm,mvc、mvp分別是什么

關于 vue 的原理主要有兩個重要內容&#xff0c;分別是 mvvm 數據雙向綁定原理&#xff0c;和 響應式原理 MVC&#xff08;Model-View-Controller&#xff09;&#xff1a; Model&#xff08;模型&#xff09;&#xff1a;表示應用程序的數據和業務邏輯。View&#xff08;視圖&…

edge 安裝筆記

依賴項&#xff1a; jukebox 下載代碼GitHub - rodrigo-castellon/jukebox 拷貝到根目錄即可&#xff0c;文件夾留一個根目錄jukebox vqvae_cache_path cache_dir "/vqvae.pth.tar" prior_cache_path cache_dir "/prior_level_2.pth.tar"

JavaWeb之 Servlet(2萬6千字詳解)

目錄 前言1. Servlet 簡介2. Servlet 前世今生3. Servlet 執行流程4. Servlet 快速入門5. 兩種配置 Servlet程序 URL的方式5.1 使用 注解來配置 Servlet程序 的 URL5.1.1 urlPattern 的配置規則精確匹配目錄匹配&#xff1a;使用 * 符號代表任意路徑擴展名匹配任意匹配 5.1.2 小…

【MATLAB】語音信號識別與處理:SG濾波算法去噪及譜相減算法呈現頻譜

1 基本定義 SG 濾波算法&#xff08;Savitzky - Golay 濾波算法&#xff09;是一種數字信號處理算法&#xff0c;用于對信號進行平滑處理。該算法利用最小二乘法擬合局部數據段&#xff0c;然后用擬合的函數來估計每個數據點的值&#xff0c;從而實現平滑處理。 SG 濾波算法的…

redis05 sprngboot整合redis

redis的Java客戶端 整合步驟 添加redis的pom依賴 <!-- 引入redis依賴 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency><!-- 引入redis連…

51單片機學習day02

基于普中的stc89c52&#xff0c; 串口&#xff1a; 通訊接口&#xff0c;51單片機自帶UART&#xff08;通用異步收發器&#xff09;&#xff0c;可實現窗口通訊。 硬件電路&#xff1a; 簡單雙向串口通信有兩根通信線&#xff08;發送端TXD和接收端RXD&#xff09;&#xff0…

HelixToolKit的模型旋轉操作

前面加載了模型以后&#xff0c;鼠標拖動和縮放比較好操作&#xff1b;但是旋轉似乎沒有&#xff0c; 操作了一陣&#xff0c;也不是沒有&#xff0c;應該是還不熟悉&#xff1b; 旋轉的指示器在右下角&#xff0c;現在U面看到正面&#xff0c; 想看一下模型的背面&#xff0…

【Java項目介紹和界面搭建】拼圖小游戲——添加圖片

&#x1f36c; 博主介紹&#x1f468;?&#x1f393; 博主介紹&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高興認識大家~ ?主攻領域&#xff1a;【滲透領域】【應急響應】 【Java】 【VulnHub靶場復現】【面試分析】 &#x1f389;點贊?評論?收藏 …

扼殺網絡中的環路:STP、RSTP、MSTP

目錄 前言&#xff1a; 一、STP&#xff08;Spanning Tree Protocol&#xff09; 1.1 STP功能 1.2 STP應用 二、RSTP&#xff08;Rapid Spanning Tree Protocol&#xff09; 2.1 RSTP功能 2.2 RSTP應用 三、MSTP&#xff08;Multiple Spanning Tree Protocol&#xff0…

Angular 由一個bug說起之四:jsonEditor使用不當造成的bug

一&#xff1a;問題 項目中使用了一個JSON第三方庫&#xff1a; GitHub - josdejong/jsoneditor: A web-based tool to view, edit, format, and validate JSON 當用戶編輯JSON格式的數據&#xff0c;查找替換時&#xff1a; 用戶的期望結果是&#xff1a;$$ 被替換為$$_text&a…

[物聯網] OneNet 多協議TCP透傳

[物聯網] OneNet 多協議TCP透傳 STM32物聯網–ONENET云平臺的多協議接入產品創建 : https://blog.csdn.net/qq_44942724/article/details/134492924 Onenet tcp 透傳 : https://blog.csdn.net/flyme2010/article/details/107086001 tcp服務端測試工具 : http://tcp.xnkiot.com/…

zephyr學習

zephyr內核對象學習 定時器 類似linux的定時器&#xff0c; 可以分別設置第一次到期時間和后續的周期觸發時間&#xff0c; 可以注冊到期回調和停止回調 還有一個計數狀態&#xff0c;用于標記timer到期了多少次 duration&#xff1a;設定timer第一次到期的時間。 period: …

SpringBoot3.2.0整合MyBatis-plus的相關問題及處理方法

SpringBoot3.2.0整合MyBatis-plus的相關問題 文章目錄 SpringBoot3.2.0整合MyBatis-plus的相關問題1. build.gradle2. mybatis-plus整合問題1. 錯誤描述2. 問題分析及解決1. 原因分析2. 解決方式 Springboot3.2.0 GA版發布于 2023-11-24 環境&#xff1a;SpringBoot3.2.0Gradle…

【蛀牙】日常生活如何正確護理牙齒?刷牙、洗牙、補牙

程序員生活指南之 【蛀牙】日常生活如何正確護理牙齒&#xff1f;刷牙、洗牙、補牙 文章目錄 一、日常如何清洗牙齒&#xff1f;——刷牙與洗牙1、牙齒污垢1.1 牙菌斑1.2 軟垢1.3 牙結石1.4 牙齦出血 2、如何刷牙2.1 關于時間2.2 各種工具2.3 巴氏刷牙法 二、定期進行洗牙3、如…

題目 1076: 內部收益率

題目描述: 在金融中&#xff0c;我們有時會用內部收益率IRR來評價項目的投資財務效益&#xff0c;它等于使得投資凈現值NPV等于0的貼現率。換句話說&#xff0c;給定項目的期數T、初始現金流CF0和項目各期的現金流CF1, CF2, ...&#xff0c;CFT&#xff0c;IRR是下面方程的解&…

RISC-V特權架構 - 特權模式與指令

RV32/64 特權架構 - 特權模式與指令 1 特權模式2 特權指令2.1 mret&#xff08;從機器模式返回到先前的模式&#xff09;2.2 sret&#xff08;從監管模式返回到先前的模式&#xff09;2.3 wfi&#xff08;等待中斷&#xff09;2.4 sfence.vma&#xff08;內存屏障&#xff09; …

SpringBoot+Vue+MySQL:裝修管理新架構探索

??計算機畢業編程指導師 ??個人介紹&#xff1a;自己非常喜歡研究技術問題&#xff01;專業做Java、Python、微信小程序、安卓、大數據、爬蟲、Golang、大屏等實戰項目。 ??實戰項目&#xff1a;有源碼或者技術上的問題歡迎在評論區一起討論交流&#xff01; ?? Java、…

FPGA開源項目分享——2D N-Body重力模擬器

?導語 今天繼續康奈爾大學FPGA 課程ECE 5760的典型案例分享——2D N-Body重力模擬器。 &#xff08;更多其他案例請參考網站&#xff1a; Final Projects ECE 5760&#xff09; 1. 項目概述 項目網址 Grav Sim 項目說明 該項目的目標是創建一個用DE1-SOC進行硬件加速的2…

Java面試技巧

一、面試前準備 復習基礎知識&#xff1a;深入理解Java核心概念&#xff0c;如JVM、JDK、JRE等。熟悉Java基本語法、面向對象編程、異常處理、集合類、IO流等。同時&#xff0c;對Java的新特性&#xff0c;如Lambda表達式、Stream API等也要有所了解。強化算法和數據結構&…

簡易內存池2 - 華為OD統一考試(C卷)

OD統一考試&#xff08;C卷&#xff09; 分值&#xff1a; 200分 題解&#xff1a; Java / Python / C 題目描述 請實現一個簡易內存池,根據請求命令完成內存分配和釋放。 內存池支持兩種操作命令&#xff0c;REQUEST和RELEASE&#xff0c;其格式為: REQUEST請求的內存大小 …