機器之心報道
機器之心編輯部
在軟件開發(fā)的過程中,閱讀和理解代碼是一項基礎(chǔ)工作。無論是實現(xiàn)新功能,還是查找 bug,開發(fā)人員首先要閱讀和理解代碼,這個時間甚至多于編寫代碼。如果能夠像搜索引擎一樣,快速找到開發(fā)需要的上下文代碼,那么軟件開發(fā)的效率將會大幅提升。
(相關(guān)資料圖)
作為全球最大的源代碼托管服務(wù)平臺,2021 年 GitHub 發(fā)布代碼搜索引擎 Code Search 預(yù)覽版,之后 GitHub 又對 Code Search 進行了一系列的優(yōu)化修改,并在今年 2 月公布了技術(shù)細節(jié)。
現(xiàn)在,GitHub 宣布所有用戶都可以使用全新的代碼搜索(code search)引擎和代碼視圖(code view),旨在讓開發(fā)人員能夠快速搜索、導(dǎo)航和理解代碼,最終提高工作效率。
具體來說,GitHub 推出了一個完全重新設(shè)計的搜索界面。新界面不僅提供建議與補全,還能對搜索結(jié)果進行智能分類。
這基于 GitHub 從頭開始構(gòu)建的全新代碼搜索引擎,該引擎的特點是速度更快(大約是舊代碼搜索速度的兩倍),功能更強大(支持子字符串(substring)查詢、正則表達式搜索和符號搜索),并具備一定的代碼理解能力,能將最相關(guān)的結(jié)果放在首位。
此外,研發(fā)團隊還重新設(shè)計了 GitHub 的代碼視圖,將搜索、瀏覽和代碼導(dǎo)航緊密集成起來。
我們來看一下改進之后,GitHub 的應(yīng)用效果。
修復(fù) bug
修復(fù) bug 是軟件開發(fā)中最常遇到的工作情況之一。在修復(fù)之前,開發(fā)者們首先要找到 bug 在哪。一個大型軟件或項目通常具有多個系統(tǒng)或存儲,如果沒有代碼搜索,開發(fā)者就不得不克隆一堆存儲庫并使用 grep 遍歷它們?,F(xiàn)在借助 GitHub 的代碼搜索功能,開發(fā)者可以在大量代碼中進行快速查找:
查找配置文件
在實際開發(fā)中,項目配置往往是硬性限制條件。GitHub 現(xiàn)在為開發(fā)者提供查找配置文件的功能。例如,在代碼中搜索包含「內(nèi)存(memory)」一詞的 YAML 配置文件,就能查看一些內(nèi)存占用情況:
這種查詢功能對于開發(fā)中的資源規(guī)劃與分配至關(guān)重要。
此外,GitHub 還制定了一些避免安全漏洞的規(guī)則,例如禁止使用 dangerouslySetInnerHTML 將危險的字符串注入 DOM。
網(wǎng)友怎么看
GitHub 全新的代碼搜索正式上線后,有網(wǎng)友大贊其功能,稱這是 5 年來最令人印象深刻的產(chǎn)品,優(yōu)秀到可與 ChatGPT 媲美。
還有人表示 GitHub 的代碼搜索功能比 Copilot 或任何大型語言模型(LLM)都有用得多。
但也有一些網(wǎng)友表示,以前的 GitHub 搜索效果很差,更多的時候他們習(xí)慣于使用 git-grep。
看來,全新的 GitHub 代碼搜索需要開發(fā)者們自己嘗試一下,才知道好不好用。
參考鏈接:https://github.blog/2023-05-08-github-code-search-is-generally-available/
標(biāo)簽:
- 正式上線,GitHub向所有用戶開放全新代碼搜索引擎 環(huán)球微速訊
- 基石藥業(yè)重獲舒格利單抗與Nofazinlimab大中華區(qū)以外開發(fā)和商業(yè)化權(quán)益-環(huán)球看點
- 熱推薦:諸葛亮和姜維的北伐,誰的成果更高呢?
- 焦點簡訊:廣東人社提質(zhì)增效體現(xiàn)主題教育
- 大連高新區(qū)2023年度小型微型企業(yè)創(chuàng)業(yè)創(chuàng)新基地數(shù)量領(lǐng)跑全市
- 為啥中醫(yī)藥能解除失眠困擾
- “SZ防災(zāi)杯丨2023年深圳市防災(zāi)減災(zāi)大型網(wǎng)絡(luò)知識競賽”正式上線
- 瓦格納與俄羅斯分道揚鑣?烏副防長拆穿“把戲”,直言不要被騙了 全球資訊
- 【環(huán)球聚看點】英特爾證實計劃裁員 或涉及客戶端計算和數(shù)據(jù)中心部門
- 王剛?cè)魏幽鲜∥N?、組織部部長