Статьи

Найти фрагменты кода JavaScript по функциональности с помощью Cocycles

Cocycles — это новая служба поиска кода, которая позволяет найти код по функциональности. В этой статье член команды Cocycles Джонатан объясняет идею такого подхода к поиску кода.


Мы все знакомы с этим: в тот момент, когда вы вынуждены отказаться от своего редактора кода, прервите ваш рабочий процесс и откройте браузер для поиска фрагмента кода или объяснения того, как что-то кодировать. Это может быть трудоемким и разочаровывающим процессом.

В течение многих лет я в основном обращался к знакомым поисковым системам, таким как Google и Bing, отправляя запросы типа «JavaScript-парсинг HTTP-заголовков» и молясь, чтобы кто-то где-то спрашивал об этом, а кто-то предоставил полезный ответ и даже рабочий фрагмент.

Google и Bing хорошо понимают английский, но не умеют читать код. Иногда удача на нашей стороне, а иногда нет.

Тем не менее, это не должно быть так. В апреле 2016 года GitHub сообщил, что он содержит более 35 миллионов хранилищ. Это много строк кода! Я готов поспорить, что большинство того, что разработчики ищут каждый день, уже находится где-то в сети с открытым исходным кодом. До сих пор проблема была в том, что мы не можем легко найти это. Вот почему мы создали Cocycles , поисковую систему для кода .

В этой статье я представлю этот новый инструмент, объясню, как он работает и как его использовать.

Коциклы: поисковая система функционального кода

Интерфейс поиска Cocycles

Больше всего на свете Коцикл — это метод организации знаний и обеспечения их доступности. Коцикл делает что-то довольно простое для описания, но невероятно сложное для выполнения: он стремится быть в состоянии найти каждый фрагмент кода в домене с открытым исходным кодом, каталогизировать его, а также облегчить его поиск и использование. Итак, нужно сделать три вещи:

  1. знать, что на самом деле делает каждый кусок кода
  2. понять, что вы на самом деле ищете
  3. сопоставьте их, сядьте и дождитесь цветов «Спасибо».

В действительности это непрерывный процесс, в котором сотрудничество с сообществом является основным ключом.

Cocycles — это технология, которая учится понимать, что делает каждый фрагмент кода. Он смотрит не только на подпись кода, текст или документацию, но также — и в первую очередь — на его функциональность . Коцикл понимает код и что он делает. Он на самом деле может сказать, какие части кода лучше всего подходят для замены двух элементов в данном массиве или для создания случайной строки, и способен идентифицировать их и даже понять связи между различными частями.

В настоящее время он поддерживает JavaScript, а дополнительные языки планируется позже в 2016 году.

Поиск кода на простом английском

Коцикл умеет понимать английский. Он также предназначен для понимания разработчиков . Чтобы достичь этого, Cocycles использует алгоритмы обработки естественного языка, чтобы понять описание кода, который вам нужен, и найти то, что вы ищете.

Поэтому при поиске с помощью Cocycles лучше всего описывать то, что вам нужно, так же, как и в поисковой системе, такой как Google, Bing и другие. В отличие от этого, однако, Cocycles способен понимать код и, следовательно, переведет ваш запрос в требуемую функциональность кода.

Например, если вам нужно поменять местами два элемента в данном массиве, вам нужно просто найти «swap elements». Если вам необходимо проанализировать заголовки HTTP-запроса, выполните поиск по запросу «синтаксический анализ заголовков http». И при поиске функции для создания случайной строки попробуйте поискать «создать случайную строку».

создать случайную ул

Благодаря семантическим возможностям, Cocycles также может понять, что «String» — это то же самое, что и «Str», а «Create» может означать «Generate». Кроме того, вы можете попытаться найти что-то более широкое, например, «таймер», и найти полезные классы таймера с помощью различных методов.

Еще одна полезная особенность называется «Cocycles Immediate». Когда Cocycles точно знает, что именно вы ищете, он немедленно предоставит желаемый результат с важной ключевой информацией — как показано на рисунке ниже, где показан поиск «angular isStr»:

угловой isStr

Изучение, как работает код

Открывая блок результатов, Cocycles переводит вас в интерактивный режим исследования, похожий на IDE. Это позволяет вам не только просматривать полную реализацию исходного кода, но и взаимодействовать с кодом. При наведении курсора на определенные части будут выделены соответствующие части; щелчок по определенной переменной или функции переместит вас к ее определению; и скоро станет возможным переход между файлами и даже целыми проектами. Это выводит Коцикла из мира «фрагментов» в мир изучения, изучения и создания кода. Это последнее представление будет адаптироваться к различным типам результатов. Например, если выбранный результат является классом, Cocycles перечислит его методы и предложит быстрый просмотр между ними.

Когда доступно, Cocycles также предоставит полную оригинальную документацию для каждой найденной единицы кода. Еще круче, он найдет реальные примеры использования, из которых вы можете узнать, как использовать найденный код и как это делали другие люди. При необходимости вы также можете просмотреть исходный код в GitHub напрямую.

Заглядывая в будущее

Коциклы не идеальны. Технологические проблемы огромны. Это процесс и постоянное стремление организовать весь код в мире и сделать его доступным.

Он создается с помощью сообщества и по совету ведущих разработчиков. Это бесплатно, и построено, чтобы длиться.

Мы также понимаем, что будущее заключается в обеспечении еще большей ценности для людей — путем использования большего потенциала, скрытого в мире открытого исходного кода.

Например, мы должны иметь возможность идентифицировать в режиме реального времени, когда разработчик делает ошибку или пишет неоптимальный код. Мы должны быть в состоянии предложить мгновенное решение на основе открытого исходного кода. В настоящее время мы работаем над тем, что предложит все это и многое другое. У нас есть информационный бюллетень, на который вы можете подписаться, и канал Twitter , если вы хотите получать уведомления об обновлениях.

Это ваше дело, и любые отзывы, идеи или мысли будут с благодарностью приняты. Посетите cocycles.com и расскажите нам, что вы думаете!