8 декабря 2021 года компания GitHub объявила о выходе технологии улучшенного поиска, которая поможет быстрее исследовать код и концентрироваться на проекте:
«Разработчику сложно оставаться в состоянии потока. Всякий раз, когда вы смотрите, как использовать библиотеку, или когда тест провалился из-за того, что ваша среда разработки отличается от CI, или когда вам нужно выяснить, из-за чего возникло сообщение об ошибке, вы прерываетесь. Чем больше времени потребуется на устранение помехи, тем больше контекста вы потеряете.
Что касается поиска кода, наше ви́дение состоит в том, чтобы помочь каждому разработчику искать и открывать код, ориентироваться в нём и понимать его быстро и интуитивно. Благодаря поиску кода на GitHub весь код мира всегда у вас под рукой — на расстоянии одного поискового запроса».
ПАВЕЛ АВГУСТИНОВ, сотрудник GitHub
В обновлённую систему разработчики добавили интеллектуальное ранжирование, выдачу результатов по строкам, регулярным выражением и спецсимволам, а также множество дополнительных фильтров для расширенного поиска фрагментов кода.
Сейчас GitHub тестирует технологию и приглашает желающих оценить улучшенный поиск. Для этого нужно перейти на сайт cs.github.com и отправить заявку на участие.
![](/upload/setka_images/13082814122021_5c20dcbcfbab07ab6c2df7e27444d5ac2afca569.png)
На Reddit большинство разработчиков положительно отреагировало на новость. Оний считают поиск на GitHub полезным инструментом, который пригодится в работе.
Merry_Macabre: «Наконец-то правильная навигация по коду на GitHub. Старый способ — это такая боль, и он не всегда регистрирует определения функций, а необходимость перебирать все результаты поиска в большом проекте — это утомительно».
jantari: «Старый поиск и раньше на световые годы опережал GitLab, да и вообще никакого глобального поиска кода нет… но это просто круто!»
![](/upload/setka_images/13082714122021_278cadb5c5a600fd354bbb4a32acf34407bf98f0.png)
Programmurr: «Я сильно полагаюсь на поиск по GitHub и хотел чего-то лучшего. Надеюсь, результаты поиска будут более точными, а не просто быстрыми. Имея это в виду, можете ли вы рассказать про использованные эвристики ранжирования или это закрытая информация?»
Cmerkel: «Мы используем ряд эвристик, включая статические факторы, такие как качество репо (популярный это репозиторий с высокими оценками или случайный форк), полезность файла (тесты, сверхдлинные файлы или файлы со сверхдлинными именами, сгенерированный код, файлы данных часто менее полезны) и динамические факторы (насколько хорошо запрос соответствует содержимому документа, есть ли в документе символы, соответствующие терминам запроса: классы → функции → переменные для ранжирования). Мы также смотрим, например, есть ли совпадение в комментарии или в коде, среди множества других вещей.
Попробуйте новый поиск! Если вы найдёте случай, когда рейтинг может быть лучше, оставьте нам отзыв, и я исправлю это!»
![](/upload/setka_images/13082714122021_bd473197c461193ea9b6d317f4c236910d065887.png)