LINUX.ORG.RU
ФорумTalks

Визуализация асинхронного кода

 , , , ,


0

2

Как называется вид диаграмм, по оси X (абсцисс) которой - время, по оси y - сначала группировка по модулям системы, внутри которой идет визуализация параллельно запущенных процессов (прямоугольники разного цвета - начало процесса, окончание процесса и линия со стрелкой между ними

Ответ на: комментарий от n_play

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

EnterpriseMobility
() автор топика
Последнее исправление: EnterpriseMobility (всего исправлений: 1)
Ответ на: комментарий от EnterpriseMobility

не, не редакторы которые работают на ноде, а которые из нодовского кода (текста на языке javascript) могут генерить диаграммы асинхронных вызовов, автоматически?

stevejobs ★★★★☆
()
Ответ на: комментарий от EnterpriseMobility

???

вижу по твоей ссылке парсинг только такого текста:

Andrew->China: Says Hello
Note right of China: China thinks\nabout it
China-->Andrew: How are you?
Andrew->>China: I am good thanks!

а я хочу, чтобы оно визуализовало вот такой текст, например

var promise = new Promise(function(resolve, reject) {
  // do a thing, possibly async, then…

  if (/* everything turned out fine */) {
    resolve("Stuff worked!");
  }
  else {
    reject(Error("It broke"));
  }
});

promise.then(function(result) {
  console.log(result); // "Stuff worked!"
}, function(err) {
  console.log(err); // Error: "It broke"
});
stevejobs ★★★★☆
()
Ответ на: комментарий от EnterpriseMobility

что касается исполнения, от руки я бы вначале скачал какую-нибудь старую версию Magicdraw UML (на новые нет кряка, а сам я его делать не хочу), и попробовал понять, подходят ли мне диаграммы последовательностей по стандарту UML для этого.

что касается самого смысла, как это визуализировать, я без понятия вообще. async-await линейный код можно писать просто как линию. А вот тру-асинхронный - проблема. Как не поверни, получается плохо. Об этом даже думать не получается нормально, не то что нарисовать :(

stevejobs ★★★★☆
()

Ничего не понял я, но круто было почитать.

Tactile ★★
()
Ответ на: комментарий от EnterpriseMobility

Короче, сейчас я начертил хрень в Экселе.

гугли project timeline gantt?

bl ★★★
()
Последнее исправление: bl (всего исправлений: 1)
Ответ на: комментарий от stevejobs

На то он и асинхронный, что для него невозможно составить такую диаграмму

buddhist ★★★★★
()

внутри которой идет визуализация параллельно запущенных процессов

Какие ещё параллельно запущенные процессы, если у тебя в тегах нода?

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

у меня неправильная формулировка терминов.

Как назвать тогда хрень на этом диаграмме: запустили асинхронную функцию (начальная точка, к примеру проколотая точка), ждем некотророе прошло время (пошел отрезок, иллюстирующий <b>процесс</b> работы функции), получили результат работы в callback-е (конечная жирная точка).

Как все проихсходит физически нас на самом деле не интересует (сколько третов, процессоров или может даже разных физических CPU).

Нас интересует наглядная иллюстрация работы Node.js программы.

EnterpriseMobility
() автор топика
Ответ на: комментарий от EnterpriseMobility

Как то я интересовался софтом, способным развернуть направленный замкнутый граф в конечное (в зависимости от глубины) число вариантов. Мне ответили что я хочу странного. Твоя «node.js программа» это по сути много вложенных окружностей с одной общей точкой, которая является монструозным if-else'ом.

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

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

в чем «неверность» этого представления? проведенналя линия - это логическая связь - для мозга понятнее.

Под процессом понимается другой процесс - «процесс вачисления значения функции» как это представляет себе в мозгу программист.

EnterpriseMobility
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.