Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Плагин PlantUML (https://javascript.ru/forum/offtopic/30500-plagin-plantuml.html)

B~Vladi 08.08.2012 20:53

Цитата:

Сообщение от Gozar
хотя тот плагин гораздо круче.

Чем? Тут прикол в том, что сама диаграмма лежит в коде.

Цитата:

Сообщение от nerv_
Я так понял это для визуализация алгоритма работы программы?

Да, но есть разные типы диаграмм:
Sequence Diagram - хорошо подходит для описания последовательности действий между некоторыми сущностями. Например, общение клиента и сервера.

Use Case Diagram - хорошо описывает взаимодействие пользователя(ей) с интерфейсом, сервисом и т.п.

Class Diagram - описывает структуру и отношение классов (конструкторов) между собой. Например, в Java такие диаграммы генерятся налету.

Activity Diagram -
Цитата:

Сообщение от nerv_
это для визуализация алгоритма работы программы

Component Diagram - показывает отношение компонентов и интерфейсов. Например, для описания архитектуры фреймворка или целого проекта.

State Diagram - описывает состояние некой сущности, например, конечного автомата или алгоритма.

Object Diagram - описывает объекты (списки, хеши) и отношение между ними.

Цитата:

Сообщение от Gozar
если ты припомнишь, я как-то рисовал схему ООП в js

Вроде припоминаю, но не уверен.
Цитата:

Сообщение от Gozar
Все люди воспринимают одни и те же схемы по разному.

Ну не знаю... Может схема не удалась? Может не со всеми типами схем так?

Цитата:

Сообщение от Gozar
а это дополнительная работа к описательной части.

Да, как и документация и тесты. Не нужно описывать каждую сущность в диаграмме. Программист сам должен понимать, где диаграмма будет полезна, а где нет. В каждом конкретном случае.

Цитата:

Сообщение от Gozar
который дергает из кода объекты и визуализирует связи.

Для JS? Пруф?

Цитата:

Сообщение от president
Писька->Жопа : сперма

:blink: Пидорг?!

Gozar 08.08.2012 22:58

Цитата:

Сообщение от B~Vladi
Тут прикол в том, что сама диаграмма лежит в коде

Все диаграммы лежат в коде. Но суть в том, что это ещё один язык для изучения.

Цитата:

Сообщение от B~Vladi
Для JS? Пруф?

Цитата:

Сообщение от Gozar
мне бы больше подошел плагин

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

B~Vladi 08.08.2012 23:11

Цитата:

Сообщение от Gozar
Но суть в том, что это ещё один язык для изучения.

Я написал 3 диаграммы и уже чувствую себя уверенно. Каждая следующая пишется уже проще. Хотя тут на вкус, да. Но что-то лучше для создания UML я не нашел (в идеале - плагин для IDEA).
Могу завтра скинуть скрины, если интересно.

Цитата:

Сообщение от Gozar
Все диаграммы лежат в коде.

Какая ещё софтина позволяет читать диаграммы в коде?!

Цитата:

Сообщение от Gozar
Другими словами мне хотелось бы.

А, ну и мне хотелось бы, но такое невозможно для JS :)
Вот я и предложил вариант. Если немного поднапречься и потратить времени - в дальнейшем писать схемы будет уже не так сложно. Зато коллегам - неоценимая помощь :)

Я никого не принуждаю, если что :)

B~Vladi 08.08.2012 23:20

Кстати, при хорошем скилле, написать приличную схему можно за пол часа.
В визуальном редакторе получается не меньше.

Потратить 30-60 мин в неделю/месяц - не много.

x-yuri 16.08.2012 20:31

Цитата:

Сообщение от Gozar
если ты припомнишь, я как-то рисовал схему ООП в js. Так вот я вынес оттуда один немаловажный урок. Все люди воспринимают одни и те же схемы по разному.

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

Не могу похвастаться большим опытом в рисований диаграмм, как-то не было особой необходимости. Но когда возникала, я приходил к тому, что Enterprise Architect - лучший из имеющихся инструментов. Я пробовал использовать программы с более простым интерфейсом. Но это заканчивалось тем, что я сталкивался с невозможностью изобразить то, что мне нужно. PlantUML похож на один из таких вариантов. К тому же не уверен, что наличие диаграммы в коде - это плюс.

B~Vladi 16.08.2012 22:06

Цитата:

Сообщение от x-yuri
не уверен, что наличие диаграммы в коде - это плюс.

Это и не удивительно, пока не попробуешь - не узнаешь.

Gozar 16.08.2012 22:16

Цитата:

Сообщение от B~Vladi
А, ну и мне хотелось бы, но такое невозможно для JS

Почему?

B~Vladi 16.08.2012 22:27

Цитата:

Сообщение от Gozar
Почему?

Потому что в JS, в большинстве случаев, не возможно построить связь между объектами, так как нельзя с идентифицировать объект на 100%, как например в Java.

Gozar, почему ты просишь объяснять тебе очевидные вещи? Ты и сам должен был это знать...

В IDEA стандартная панель Structure может показать структуру объектов, описанных в файле, включая то, что есть в JSDoc. Но она не показывает связей между ними.

Gozar 16.08.2012 22:37

И вот так нельзя сделать?:

TSN.load = function (path, name, config) {
config = new Config(config);

var fullPath = LIB.path.join(config.templateRoot, path);

if (config.cache === true && TSN.cache.hasOwnProperty(fullPath)) {
return TSN.cache[fullPath];
}

config.path = LIB.path.dirname(fullPath);
return TSN.compile(LIB.fileSystem.readFileSync(fullPath, config.encoding), name || fullPath, config);
};


Могло бы превратиться в нечто подобное:

TSN.load = function {
LIB.path.join
TSN.cache
LIB.path.dirname
TSN.compile
LIB.fileSystem.readFileSync
};


А по моему вполне реально такой парсер написать.

Gozar 16.08.2012 22:52

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


Часовой пояс GMT +3, время: 02:49.