Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров6.1K

Код может быть красивым сам по себе, но часто есть потребность добавить визуальной составляющей.

Прошу обратить внимание на такой инструмент, как D2 (Declarative Diagramming) Terrastruct, Inc.

Написан на языке Go. Найден по следам активности уважаемого мной nhooyr, разработчика библиотеки для работы с websocket.

На первый вгляд выглядит многообещающе:

Пример
Пример

Как отмечают создатели:

Визуальные элементы — это наиболее эффективный способ для всех членов команды поделиться ментальной моделью программных систем своего проекта. Это мультипликатор производительности. Но даже гениальные инженеры не могут их вытащить. Почему? В их головах все ясно, но инструменты построения диаграмм больше похожи на инструменты проектирования, чем на инструменты разработки.

Процесс создания диаграммы есть написание кода:

Создание диаграммы
Создание диаграммы

Возможности:

  • Преобразование текста в диаграмму (элементарный синтаксис)

  • Автоформатирование и D2 tour по примеру Go

  • Расширения для Vim и vscode

  • Иконки и изображения

  • Стили отрисовки - по умолчанию dagre и elk, отдельно еще есть tala

  • Цветовые темы

  • Импорт в диаграмму кода, LAΤΕΧ (формул), SQL-таблиц, UML и markdown

  • Локальное применение через CLI

  • Импорт в программы на Go как библиотеки для генерации диаграмм

  • Экспорт в svg и png

Очень круто выглядят диаграммы последовательности (кто видел, как выглядят в RFC, оценит):

Диаграммы последовательности
Диаграммы последовательности

В наличии интерактивная "песочница" с примерами:

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

P.S.

Инструмент понравился, надоели WYSIWYG-редакторы для отрисовки диаграмм.

Повторно отмечу D2-tour.

Всем спасибо за внимание, удачи и спокойствия!

Теги:
Хабы:
+23
Комментарии19

Публикации

Истории

Работа

Go разработчик
130 вакансий

Ближайшие события