URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 92815
[ Назад ]

Исходное сообщение
"Представлен watson, инструмент для работы с уведомлениями об..."

Отправлено opennews , 24-Ноя-13 23:49 
В рамках проекта Watson (http://nhmood.github.io/watson-perl/) развивается инструмент, позволяющий формировать сообщения об ошибках, отчёты о проблемах, рецензии, планы на будущее и примечания не отрываясь от работы с кодом. В отличие от других систем контроля за исправлением ошибок, добавление и отслеживания состояния уведомлений производится в процессе редактирования кода в форме специальных меток-комментариев (например, добавив "// [fix] сообщение" перед проблемной строкой). Watson выявляет подобные правки и позволяет завести добавленные в коде уведомления в системах отслеживания проблем на сервисах GitHub или Bitbucket, а также синхронизировать состояние имеющихся в данных сервисах уведомлений. Код watson распространяется под лицензией MIT и доступен в реализациях на Perl (https://github.com/nhmood/watson-perl) и Ruby (https://github.com/nhmood/watson-ruby).

<center><img src="http://www.opennet.me/opennews/pics_base/0_1385320813.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></center>
<center><img src="http://www.opennet.me/opennews/pics_base/0_1385320828.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>


URL: http://nhmood.github.io/watson-perl/
Новость: http://www.opennet.me/opennews/art.shtml?num=38507


Содержание

Сообщения в этом обсуждении
"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 24-Ноя-13 23:49 
Не уверен, что прямов  таком виде - но идея очень правильная - не отвлекаться на 100500 окошек и сторонних инструментов, а всё делать в окне кода.

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Аноним , 25-Ноя-13 12:08 
Ять, даже простенький Geany умеет показывать todo и fix вписанные в код таким макаром. Это чо, инновация? Укушенные гитхабом скрипткиидсы озверели!

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 25-Ноя-13 15:52 
Ну можно к мантису добавить привязку, суть не в этом - а в том, что это такие штуки из "тасков второго сорта" становится полноценными. И это правильно - исходник должен быть единственным источников всего, что есть в продукте - от документации до багтрекера, которые есть просто различные интерфейсы к коду.

"Представлен watson, инструмент для работы с..."
Отправлено arisu , 25-Ноя-13 21:51 
> Не уверен, что прямов  таком виде - но идея очень правильная
> — не отвлекаться на 100500 окошек и сторонних инструментов, а всё
> делать в окне кода.

это всё от того, что plaintext — фигня. ну вот совсем фигня. пока документ не будет естественной частью системы (как в обероне, например) — так и останутся костыли над костылями.


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Сталин , 24-Ноя-13 23:51 
Для Vim'щиков хороший плагинчик

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено mihalych , 27-Ноя-13 09:33 
Товарищ Сталин, что вы курите? Какой vim?

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Фдуч , 25-Ноя-13 00:21 
любая современная IDE показывает в отдельном окошке строки с комментами TODO/FIX/BUG/HACK. А так да, сабж для хэлловордщиков в виме полезен.


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 25-Ноя-13 01:53 
Действительно, зачем автоматизировать и делать удобным создание тасков и управление ими, давайте лучше в окошках мышкой тыкать.

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено SCIF , 25-Ноя-13 05:16 
Вы принципиально ответили не прочитав/не поняв предыдущего мнения?? Интересный подход.

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 25-Ноя-13 15:49 
Я как раз прочитал и понял. Суть не в показе в окошке. Суть - в том, что из этих маркировок порождаются/редактируются реальные таски. Одним росчерком, не покидая окна редактирования кода, вообще не отрывая руки от клавиатуры и не прерывая текущий процесс мышления/писания/редактирования/просмотра кода.

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Пиу , 25-Ноя-13 16:02 
>Суть - в том, что из этих маркировок порождаются/редактируются реальные таски.

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

>не покидая окна редактирования кода

что в этом такого хорошего?

>не отрывая руки от клавиатуры

в нормальных DE есть комбинации клавиш, в нормальных IDE есть комбинации клавиш, в нормальных IDE есть плагины для работы с issue трекерами


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 25-Ноя-13 16:32 
Если вы не знаете, куда добавить фичу - то это не фича, а богатая фантазия.

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

А комбинации клавиш - это хорошо, но когда всё лежит прямо в тексте и ты видишь, что можешь зацепить, правя код - лучше.


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено linux must __RIP__ , 25-Ноя-13 16:38 
а что делать если для новой фичи надо внести измения в 10 файлов ?:)
вы точно работали с проектами в которых больше 1 тысячи строк?

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 25-Ноя-13 18:04 
Сунуть её в отдельный файл (например - TODO), а его - в версионник.

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено linux must __RIP__ , 02-Дек-13 13:50 
> Сунуть её в отдельный файл (например - TODO), а его - в
> версионник.

вот тебе пример :)
http://wiki.lustre.org/images/3/39/20080612165106%21Ver...

подумай как много файлов затрагивает такое изменение - и куда ты его прицепишь ?:)

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


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено linux must __RIP__ , 25-Ноя-13 16:42 
> Если вы не знаете, куда добавить фичу - то это не фича,
> а богатая фантазия.

кстати о фичах и фантазии - вы точно уверены что этими тэгами можно описать таску которая требует страниц 20-30 детального описания дизайна? и в какую точку кода добавлять данное описание (со всеми use cases, state flow, сценариями тестирования и тп..).. подскажите неумехам?



"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Crazy Alex , 25-Ноя-13 18:07 
Уверен. Фича такая-то, см. каталог такой-то для детального описания.

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


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено linux must __RIP__ , 02-Дек-13 13:46 
> Уверен. Фича такая-то, см. каталог такой-то для детального описания.

Каталог ?:)

> И в чем я точно уверен - что всё это как минимум для опенсорсного проекта должно лежать рядом с исходным кодом в версионнике. Потому что тому, кто когда-нибудь форкнет эту штуку, все эти юз кейсы и прочее rationale будут важны. В том числе - то, от чего отказались и от чего не осталось никких следов полсе переезда со второго на третий багтрекер.

почему отказались в документах не будет. Никогда :) А ситуации когда фича размазана под 40 файлам - я уже видел.

PS. doxygen вещь хорошая для низкоуровневых дизайнов - но с дизайнами верхнего уровня - она не справится.


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Пиу , 25-Ноя-13 06:37 
>давайте лучше в окошках мышкой тыкать

х-спади, какое стереотипное вы однако!..


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Аноним , 25-Ноя-13 12:09 
> любая современная IDE показывает

Даже простой и легкий geany умеет показывать такой список. Wtf, seriously.


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Пиу , 25-Ноя-13 06:32 
отличный метод превращения багтрекера в помойку

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено anonymous , 25-Ноя-13 07:54 
Конечно же, лучше помойка в коде, а не в багтрекере!

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Аноним , 25-Ноя-13 12:11 
> Конечно же, лучше помойка в коде, а не в багтрекере!

В данном случае помойка будет и там и там :P.


"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Мяут , 25-Ноя-13 07:53 
А почему оно не использует каноничные TODO, FIXME и XXX?

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено flvby1 , 25-Ноя-13 08:33 
Боится лопнуть при задействовании в уже существующих проектах

"Представлен watson, инструмент для работы с уведомлениями об..."
Отправлено Sokoloff , 25-Ноя-13 10:12 
Интересно, имя специально взяли похожим на Dr.Watson? http://en.wikipedia.org/wiki/Dr._Watson_(debugger)

"Представлен watson, инструмент для работы с..."
Отправлено arisu , 25-Ноя-13 21:48 
мда. что только люди не делают, лишь бы не использовать literate programming.

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


"Представлен watson, инструмент для работы с..."
Отправлено Crazy Alex , 25-Ноя-13 22:11 
Ну, чистый literate programming не уверен, что применим. А так - в нужную же сторону шаг. А вот насчет доксигена - согласен. Зайдешь, глянешь - функции с классами задокументированы, а какая общая архитектура, почему так и что будет каноничным решением, а что против шерсти - только на своих шишках узнавать. как по мне - лучше бы уж наоборот. Если нормально именовать то деревья классов и IDE построит, а вот high level overview ты из неё никак не выдерешь... С другой стороны - чтобы его написать оно должно, как минимум, быть в голове у разработчика.

"Представлен watson, инструмент для работы с..."
Отправлено arisu , 25-Ноя-13 22:40 
это ужасный шаг. это такой доксиген, только для трекера. фигня-фигня-фигня-фигня.

дело в том, что задачи, которые тривиальней одной строчки, в коде описывать и замахаешься, и намусоришь изрядно. а однострочники — им место совсем в другом месте. :3 это раз.

два: в коде отсутствует ссылка на багтрекер. что делать? иди, ищи, куда и что оно там занесло.

три: в код не приходят комментарии, уточнения и ты пы. иди, ищи.

да вообще, глупость. не надо, совсем не надо использовать код в качестве хранилища всего-всего. получается свалка фигни.

и вообще: зачем столько хайпа вокруг того, что реализуется наипримитивнейшими скриптами в любом нормальном редакторе?

фу такими быть.


"Представлен watson, инструмент для работы с..."
Отправлено Crazy Alex , 25-Ноя-13 23:50 
Скажем так - это лучше, чем когда документация в одном месте, багтрекер в другом, код в третьем. Тут хотя бы issues ходят рядом с кодом, а в [todo] можно воткнуть see issues/xxx for details.

А хайпа много потому чо вроде вот оно наипримитивнейшими скриптами развивается, а по факту - нигде нет. Может, проект замутить - эдакое "всё в одном" для открытых проектов на базе гита, с формированием на основе этого дела статического сайта? Чтобы от issue tracker до генерации бинарников.


"Представлен watson, инструмент для работы с..."
Отправлено arisu , 26-Ноя-13 00:00 
> Скажем так - это лучше, чем когда документация в одном месте, багтрекер
> в другом, код в третьем.

а что поменялось-то? документация по-прежнему в одном, багтрекер в другом, код в третьем.


"Представлен watson, инструмент для работы с..."
Отправлено Crazy Alex , 26-Ноя-13 00:37 
так здесь багтрекер генерится из кода, насколько я понимаю

"Представлен watson, инструмент для работы с..."
Отправлено arisu , 26-Ноя-13 00:44 
> так здесь багтрекер генерится из кода, насколько я понимаю

и? что потом с ним делать? иметь, пардон май фрэнч?


"Представлен watson, инструмент для работы с..."
Отправлено Crazy Alex , 27-Ноя-13 16:06 
Видеть состояние независимо от любых внешних багтрекеров, вестимо.

"Представлен watson, инструмент для работы с..."
Отправлено arisu , 28-Ноя-13 00:48 
> Видеть состояние независимо от любых внешних багтрекеров, вестимо.

лол. чего состояние-то? ну ок, я взял код. а потом в багтрекер написал. откуда в коде возьмётся изменения состояния — это раз. и два: а если принесут — за это надо убивать.

перестань ты уже. дубовая это идея, дубовая. это то же самое, что и «приложения в браузере» — натягивание совы на глобус.

то, что связь трекеров и документации с кодом удобна — факт. то, что это невозможно нормально реализовать средствами «чистого текста» (так, чтобы и связи не ломались, и не мешали, и *удобно* редактировать можно было в любом редакторе чистого текста) — тоже факт. вот и начинают пытаться использовать инструменты не по назначению.

я уже неоднократно говорил: нужен универсальный движок «составных» документов, на том же уровне, на котором glibc живёт. и API как типа fgetc() для тех, кому неинтересно форматирование и «не-буквы», так и посложнее (в том числе с возможностью редактирования документа без переписывания всего файла) для тех, кому нужны расширеные возможности. даже эмулятор fread() можно поверх сделать, который будет тупо буквы вытаскивать.

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