Kite – интеллектуальный автопилот для программистов


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

Kite был изобретен для удовлетворения этих потребностей и, похоже, станет очень популярным среди программистов; на данный момент это Python, но инженеры Kite рассматривают возможность добавления поддержки таких языков, как C#, Java и Javascript, чтобы расширить свою аудиторию.

Kite - интеллектуальный автопилот для программистов

Как же на самом деле Kite помогает программисту стать более продуктивным?

Kite сидит рядом с вашим любимым редактором кода, в настоящее время поддерживаются Atom, Sublime Text 3, IntelliJ и PyCharm, отслеживая то, что вы набираете, чтобы отобразить очень релевантную информацию.

Например, если набрать ‘import’ и первые буквы пакета Python, начнут отображаться все пакеты, начинающиеся с этих букв, их количество будет уменьшаться по мере того, как вы будете продолжать набирать, вместе с подписями методов, включенных в пакет, документацией и примерами кода для их использования.

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

Антонио Бустаманте, инженер компании Kite, использует эту метафору для объяснения концепции:

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

Kite довольно умна, поскольку способна обнаруживать орфографические и синтаксические ошибки и предлагает исправить их за вас. Что еще более интересно, так это его понимание контекста, поскольку он может предсказать, что вы планируете сделать, и дать подсказку, что использовать в соответствии с базовым шаблоном.

Например, допустим, мы делаем запрос к URL, который возвращает объект JSON:

response = requests.get('...');

Kite ожидает, что обычно вы собираетесь продолжить разбор этого ответа, поэтому он предлагает вызов response.json.

Kite - PyCharm

Однако для того, чтобы все это работало, вам необходимо быть подключенным к Интернету во время кодирования, поскольку Kite работает путем индексирования вашего кода в своем облаке, что создает проблемы с конфиденциальностью. Однако в политике конфиденциальности это предусмотрено:

Ваш код. Приватный для вас.
Подобно Github и другим облачным инструментам (непрерывная интеграция и т.д.), ваш код является частным для вас и никогда никому не передается.

Ваш код. Ваш контроль.
Kite предлагает два основных способа контролировать, какой код отправляется в бэкенд для индексации и запросов:

Белые списки каталогов указывают Kite, какие каталоги индексировать. Kite никогда не будет отправлять ничего другого на бэкенд и будет читать только файлы *.py в этих каталогах, включенных в белый список.

Файлы .kiteignore похожи на .gitignore. Они удобны для указания Kite игнорировать определенные файлы или подкаталоги.

Kite поставляется в трех редакциях: Basic, Pro и Enterprise. Базовая включает в себя дополнения в редакторе, документацию в редакторе и веб-ссылки, а Pro – дополнения к использованию кода и популярные шаблоны, как в вышеупомянутом примере с разбором JSON.

Kite Enterprise позволяет запустить полный экземпляр сервера Kite в локальной сети вашей организации, при этом все данные анализа кода хранятся на контролируемых вами машинах и интегрируются с инфраструктурой контроля доступа вашей организации (например, LDAP или SAML).

В планах на будущее – выпуск версии для Linux наряду с доступными версиями для MacOS и Windows; поддержка большего количества редакторов, таких как Android Studio, Visual Studio и XCode; и, как уже было сказано, большего количества языков.

Самое удивительное в Kite то, что он расширяет возможности вашего скромного текстового редактора, такого как Sublime или даже Vi(!), на которые они не были рассчитаны, и это одна из причин, по которой мне не терпится проверить его в редакторах с широкими возможностями, таких как Android или Visual Studio, когда соответствующие версии будут готовы.

Вот Адам Смит, основатель Kite, демонстрирует Kite в действии:

Пока что только счастливчики-питонисты могут получить преимущество.


Добавить комментарий