Статьи

PHPBot — Может ли PHP-бот помочь вам быстрее найти документацию?

Я наткнулся на PHPBot на днях (не путать с Botman или Fondbot ) — «чат-бот», который помогает вам искать записи PHP-руководства и генерирует для них пример кода.

Если вы следите за мной в Твиттере, вы знаете, что я не верю, что чат-боты — это чат-боты — как кто-то, кто создал их как для коммерческих, так и для личных целей, и как кто-то, кто был в эпоху автоответчиков с IRC, я вижу чат-боты — это чуть больше, чем маркетинговая увлечение, призванное поразить сегодняшнее поколение Snapchat Тем не менее, время от времени появляется один, который действительно полезен. Может ли это быть один? Давайте взглянем.

Бот приветствует образ

концепция

Идея состоит в том, что вы используете текстовый ввод на странице для ввода термина, связанного с PHP (например, «ksort»), и приложение ответит объяснением и примером кода, например:

PHPBot ответ на ввод ksort

Различные запросы будут давать разные ответы. Итак, если вы спросите это для echo

PHPBot ответ на эхо

Полезность

Хотя это звучит интересно в теории, на практике это немного не так.

База знаний и ошибки

Знания, которые может дать бот, в лучшем случае ограничены. Например, запрос его preg_splitзаписи вручную , но не может распознать символ новой строки и запутывает вещи:

Прег расколоть ответ PHPBot

Магические методы не поддерживаются:

Ответ PHPBot на __toString

И некоторые запросы просто не будут выполнены, просто потому, что в руководстве нет примера, который бот может найти:

Ответ PHPBot на exec

Автозаполнение / Предложение

Для запросов, которые он не распознает, или для тех, которые пользователь только начал печатать, было бы неплохо иметь какое-то выпадающее меню автозаполнения или автозамены — или, по крайней мере, при запросе неправильной вещи, бот должен быть в состоянии сделать вывод, что мы имели в виду, и предположить, что. Например, preg_splitexplodepreg_explode

preg_explode не производит ничего полезного в PHPBot

Копировать / Вставить Дружелюбие

Фрагменты, возвращаемые ботом, представляют собой просто выделенные кодом блоки текста, но они не очень удобны для копирования и вставки. Строки тоже не переносятся, поэтому вы никогда не знаете, что именно копируете, и бот иногда неправильно форматирует пример и портит новые строки, делая его еще менее удобным для вставки:

Сломанные символы новой строки в возвращенном примере

Стандартизированная форма возвращаемых данных значительно выиграет от проекта. Вывод в формате простого текста в формате PSR-2 приходит на ум как кроссплатформенный, дружественный к нему, который затем может быть использован любым клиентом на заказ (см. API ниже).

API

Приложение «как есть» не предоставляет доступа к API, поэтому его можно использовать только в отдельной вкладке / браузере. В эпоху, когда во время работы у нас все открыто более 20 вкладок, еще одна не слишком полезна — на самом деле она гораздо лучше работает как расширение браузера, но даже лучше, если бы у нее был API ,

Возможность реализовать его с помощью любого стороннего инструмента, клиента или IDE на самом деле была бы весьма интересной и значительно расширила бы инструменты, такие как шаблоны классов и фрагменты кода, в таких IDE, как PhpStorm!

Исходный код

Прямо сейчас, PHPBot является закрытым исходным кодом. Я предполагаю, что это потому, что он был быстро взломан и представляет собой всего лишь сканер, который берет соответствующий пример из запрашиваемого метода, если он может его найти. Это понятно, но я бы посоветовал автору очистить код и открыть его как можно скорее, чтобы мы, как сообщество, могли покопаться и заставить его делать то, о чем автор не задумывался.

Вывод

PHPBot, хотя и не бот, а скорее «интерактивное» поле поиска для руководства по PHP с примерами, имеет ограниченную область применения. Прямо сейчас, его база знаний ничтожна, а примеры в ней менее чем полезны. Это милый эксперимент, но немного больше.

На данный момент я бы порекомендовал такую ​​вещь, как DevDocs, которая содержит полное руководство и работает в автономном режиме, таким образом, будучи очень быстрой. PHPBot действительно показывает потенциал как интересный инструмент / эксперимент, но не осознает этот потенциал, пока не откроет свой исходный код и не даст людям возможность добавлять примеры кода для генерации, а API-интерфейсы будут реализовывать его ответы в традиционных чат-ботах, которые могут быть интегрированы с CLI. инструменты, интегрированные среды разработки и, возможно, даже клиенты приложений для обмена мгновенными сообщениями — тогда наличие интерактивного, отзывчивого, обновляемого пользователем руководства, которое можно полностью интегрировать с локальным инструментом, изменит правила игры.

Следует отметить, что приложение находится в бета-версии прямо сейчас, и что автор намерен пойти дальше. Я говорил с ним в Твиттере , где он очень открыт для запросов и отзывов, так что давай дайте ему немного!

Вы проверили это? Ваше мнение?