08.08.2012, 20:53
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от 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
|
Писька->Жопа : сперма
|
Пидорг?!
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
08.08.2012, 22:58
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от B~Vladi
|
Тут прикол в том, что сама диаграмма лежит в коде
|
Все диаграммы лежат в коде. Но суть в том, что это ещё один язык для изучения.
Сообщение от B~Vladi
|
Для JS? Пруф?
|
Сообщение от Gozar
|
мне бы больше подошел плагин
|
Это выражение нужны, я бы очень хотел получить такой пруф. Другими словами мне хотелось бы. Если осилю, то сам сделаю. Если нет, кто знает? ...
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
08.08.2012, 23:11
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от Gozar
|
Но суть в том, что это ещё один язык для изучения.
|
Я написал 3 диаграммы и уже чувствую себя уверенно. Каждая следующая пишется уже проще. Хотя тут на вкус, да. Но что-то лучше для создания UML я не нашел (в идеале - плагин для IDEA).
Могу завтра скинуть скрины, если интересно.
Сообщение от Gozar
|
Все диаграммы лежат в коде.
|
Какая ещё софтина позволяет читать диаграммы в коде?!
Сообщение от Gozar
|
Другими словами мне хотелось бы.
|
А, ну и мне хотелось бы, но такое невозможно для JS
Вот я и предложил вариант. Если немного поднапречься и потратить времени - в дальнейшем писать схемы будет уже не так сложно. Зато коллегам - неоценимая помощь
Я никого не принуждаю, если что
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
08.08.2012, 23:20
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Кстати, при хорошем скилле, написать приличную схему можно за пол часа.
В визуальном редакторе получается не меньше.
Потратить 30-60 мин в неделю/месяц - не много.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
16.08.2012, 20:31
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Gozar
|
если ты припомнишь, я как-то рисовал схему ООП в js. Так вот я вынес оттуда один немаловажный урок. Все люди воспринимают одни и те же схемы по разному.
|
И так появился UML... точнее в то время было много разных нотаций, а UML предполагался как "язык", который решит эту проблему, типа "одна универсальная нотация для всех".
Не могу похвастаться большим опытом в рисований диаграмм, как-то не было особой необходимости. Но когда возникала, я приходил к тому, что Enterprise Architect - лучший из имеющихся инструментов. Я пробовал использовать программы с более простым интерфейсом. Но это заканчивалось тем, что я сталкивался с невозможностью изобразить то, что мне нужно. PlantUML похож на один из таких вариантов. К тому же не уверен, что наличие диаграммы в коде - это плюс.
|
|
16.08.2012, 22:06
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от x-yuri
|
не уверен, что наличие диаграммы в коде - это плюс.
|
Это и не удивительно, пока не попробуешь - не узнаешь.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
16.08.2012, 22:16
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от B~Vladi
|
А, ну и мне хотелось бы, но такое невозможно для JS
|
Почему?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
16.08.2012, 22:27
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от Gozar
|
Почему?
|
Потому что в JS, в большинстве случаев, не возможно построить связь между объектами, так как нельзя с идентифицировать объект на 100%, как например в Java.
Gozar, почему ты просишь объяснять тебе очевидные вещи? Ты и сам должен был это знать...
В IDEA стандартная панель Structure может показать структуру объектов, описанных в файле, включая то, что есть в JSDoc. Но она не показывает связей между ними.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
16.08.2012, 22:37
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
И вот так нельзя сделать?:
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, Сегодня в 24:14.
|
|
16.08.2012, 22:52
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
По сути ты же переписываешь то же самое, только другими словами. А я ой как не люблю делать двойную работу.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
|
|