DRAKON.SU
https://forum.drakon.su/

Алгоритмы базовой библиотеки Java и язык ДРАКОН
https://forum.drakon.su/viewtopic.php?f=154&t=6002
Страница 1 из 1

Автор:  Olegar [ Пятница, 07 Апрель, 2017 17:06 ]
Заголовок сообщения:  Алгоритмы базовой библиотеки Java и язык ДРАКОН

Предлагаю пример просмотра кода в виде диаграмм Дракон.

Это алгоритмы, входящие в состав базовой библиотеки Java JDK 1.7:
верхняя полоса - список на основе массива java.util.ArrayList
нижняя полоса - дважды связанный список java.util.LinkedList

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

Файл распечатывается на бумаге размером примерно 1600 на 900 миллиметров и помещается на стену или доску для коллективного обсуждения.

Вложения:
Lists in Integrator Code View 20170407.png
Lists in Integrator Code View 20170407.png [ 452.6 КБ | Просмотров: 9401 ]

Автор:  LKom [ Пятница, 07 Апрель, 2017 19:35 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

Olegar писал(а):
помещается на стену

Надо же, "всех поставить к стенке", в тоже время "в ногах правды нет", а "ежели коленки дрожат".
Не до алгоритмов будет.

Чем такое размазывание по стенке лучше текстового файла? Так же нет описания в терминах проблемной области.

Автор:  Olegar [ Пятница, 07 Апрель, 2017 23:13 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

LKom писал(а):
Чем ... лучше текстового файла?


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

Вложения:
Code comparison 20170405.png
Code comparison 20170405.png [ 215.09 КБ | Просмотров: 9391 ]

Автор:  Василий Валевич [ Среда, 12 Апрель, 2017 19:07 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

Если базовая библиотека является стабильной (а она является стабильной), и если есть место на стене - то почему бы и не вывесить такую распечатку на стену. Я с таким подходом дважды сталкивался на реальных коммерческих проектах. Вывешивали структуру базы данных. И программисты время от времени к ней подходили, просматривали и обсуждали. Примерно, как сотрудники Генерального штаба обсуждают стратегию, глядя на большую карту местности.

Автор:  Владимир Паронджанов [ Вторник, 25 Апрель, 2017 10:07 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

Olegar писал(а):
Предлагаю пример просмотра кода в виде диаграмм Дракон.

Это алгоритмы, входящие в состав базовой библиотеки Java JDK 1.7:
верхняя полоса - список на основе массива java.util.ArrayList
нижняя полоса - дважды связанный список java.util.LinkedList

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

Файл распечатывается на бумаге размером примерно 1600 на 900 миллиметров и помещается на стену или доску для коллективного обсуждения.
Считаю предложения Олега Гарипова исключительно важными. Вчера мы обсуждали эту проблему по скайпу.

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

2. Скорость движения бегунка должна быть регулируемой. Начинать демонстрацию надо с очень большой скорости, что обеспечит повышенный интерес аудитории. А затем плавно перейти к малой скорости.

3. Олег Гарипов умеет синхронно демонстрировать два бегунка:
— один бежит по алгоритмам.
— другой бегунок бежит по данным.

4. Нужно уметь увеличивать изображение данных, чтобы все было хорошо видно.

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

Я выделил пункт 5 потому, что вчера забыл сказать об этом Олегу.

Автор:  LKom [ Вторник, 25 Апрель, 2017 10:37 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

На какую аудиторию эта инновация "Дракон-беготни" рассчитана?
---
На параллельном и родственном форуме обсуждается тема:
https://forum.oberoncore.ru/viewtopic.php?f=12&t=6045&p=100872#p100872
Почему одержимость инновациями отвлекает человечество от реальных проблем

Цитата:
С точки зрения формальных экономических терминов «инновация» значит внедрение новых вещей и методов. Этот термин абсолютно не учитывает, хороши ли они.
...
Инновации! Предпринимательство! Возможно, этот довод циничен, но он обращает нас к извращенной реальности: современный дискурс рассматривает инновации как изначально положительную ценность, но они таковой не являются.

Так и инновация "Дракон-беготни" не является хорошей и положительной ценностью так же не является.
Инновация отвлекает от реальных проблем.
Инновация ради предпринимательства.

Автор:  Olegar [ Вторник, 25 Апрель, 2017 23:32 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

Привожу пример кода добавления нового элемента в список ArrayList со стрелками вызовов.
Это один use case, фрагмент вышеприведенной большой картинки.
Прошу критиковать.

Вложения:
add 20170425.png
add 20170425.png [ 48.56 КБ | Просмотров: 9276 ]

Автор:  Степан Митькин [ Среда, 26 Апрель, 2017 15:46 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

Olegar писал(а):
Это один use case, фрагмент вышеприведенной большой картинки.
Прошу критиковать.


Плюс:
- Это фактически одна диаграмма, одна визуальная сцена. Отлично!
Минус:
- Данное решение, возможно, не будет хорошо работать с большими и сложными диаграммами. Особенно с силуэтами.

Предлагаю следующее улучшение:
Вертикальная линия разделяет экран на две области.
Слева - основная диграмма. Справа - та диаграмма, на которую указывает текущая икона. (Текущая икона расположена на основной диаграмме.)
Если кликнуть по какой-либо иконе в левой области, правая область покажет тот метод, который указан в этой иконе.
Вложение:
two_panes.png
two_panes.png [ 108.69 КБ | Просмотров: 9255 ]

Автор:  TAU [ Пятница, 29 Сентябрь, 2017 11:11 ]
Заголовок сообщения:  Re: Алгоритмы базовой библиотеки Java

Степан Митькин писал(а):
Olegar писал(а):
Это один use case, фрагмент вышеприведенной большой картинки.
Прошу критиковать.


Плюс:
- Это фактически одна диаграмма, одна визуальная сцена. Отлично!
Минус:
- Данное решение, возможно, не будет хорошо работать с большими и сложными диаграммами. Особенно с силуэтами.

Предлагаю следующее улучшение:
Вертикальная линия разделяет экран на две области.
Слева - основная диграмма. Справа - та диаграмма, на которую указывает текущая икона. (Текущая икона расположена на основной диаграмме.)
Если кликнуть по какой-либо иконе в левой области, правая область покажет тот метод, который указан в этой иконе.
Вложение:
two_panes.png

Степан, Вы, как всегда, демонстрируете кристальную ясность и четкость мышления. Отличный ход!

P.S. А когда все это появится в онлайн-редакторе? ) И насущное - генерация текстов программ?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/