суббота, 10 октября 2009 г.

NClass : UML редактор для C# и Java

Пишите на C# или Java? Вам нужна только диаграмма классов, да так чтобы была максимально приближена к коду? Хотите посмотреть архитектуру уже существующей сборки? Тогда NClass для вас!
И так, почему именно C# и Java? Да потому, что они очень похожи) Кстати сам редактор написан на C# и использует второй фреймворк. Также обещают работу в Mono, однако на данный момент она хоть и работает, но вряд ли это доставит удовольствие. А как же без него работать)
Чем же он так хорош? А тем, что максимально приближен к языку. Где вы еще с легкостью сможете объявить сущность типа делегат или сгенерировать код сразу в solution студии(2005 или 2008, по выбору)? Также он распространяется под GPL, что тоже способствует его развитию. Кстати сказать, по поводу развития, хоть он сейчас и поддерживает только 2 языка, уровень абстракции в проекте позволяет достаточно легко добавлять новые языки.
Также он имеет русскую локализацию и возможность построения диаграммы классов из сборки.
Ну а теперь о недостатках. В нем не нашлось маленькой, но очень важной, на мой взгляд, вещи - поддержки пространства имен. У каждого сгенерированного файла namespace выставлялся исходя из имени решения(solution) и проекта. Кстати сказать, в NClass используется немного другая терминология, что может сбить с толку. Их проект это solution студии, а диаграмма - проект студии.
Также всегда генерировался пустой файл решения, хотя файлы проектов были рабочими.
Однако он ведь распространяется под GPL! Я уже решил проблему с файлом решения и сделал возможным редактирование namespace'ов(пока временное решение, но уже есть более интересный и функциональный вариант). Также добавил возможность создания файловой иерархии идентичной структуре namespace'ов, что очень важно для больших проектов. Сейчас начинаю налаживать контакт с главным разработчиком, с целью включения кода в проект. Хотя сам разработчик временно остановил его разработку, но думаю что проект и дальше будет развиваться, уж больно не хватает такого редактора.
ЗЫ: Если вдруг соберетесь запускать открытый проект, ОБЯЗАТЕЛЬНО сразу начинайте КОММЕНТИРОВАТЬ КОД. Пока проект не такой большой, это не сильно заметно, но в дальнейшем это обязательно приведет в лучшем случае к замедлению его развития, а в худшем - к его закрытию. Я вообще крайне удивлен, что существуют проекты с открытым исходным кодом, практически не имеющие какой-либо документации.

Комментариев нет: