Обновить

Используем PlantUML не по назначению: рисуем маппинг данных с помощью диаграммы класса

Когда у вас docs as code, хочется, чтобы все было прямо по «докс экс кодовски», в частности, чтобы диаграммы и схемы тоже рисовались кодом.

Ниже — пример того, как можно изображать маппинг данных с помощью диаграммы классов. Достаточно использовать несколько ухищрений и «костылей», чтобы получать довольно неплохие результаты.

Вот так выглядит код (если нужны пояснения, обращайтесь):

@startuml

hide circle
left to right direction

class Structure_1 {
  field_1
  --
  field_2
  --
  field_3
}

class Structure_2 {
  field_1
  --
  field_2
  --
  field_3
}

package transform <<Rectangle>> #yellow {
  
}

package "addition data" <<Rectangle>> #purple {
  
}

package "data transform" <<Rectangle>> #blue {
  
}

Structure_1::1 -down[#white]-> transform
Structure_1::1 -down-> transform
Structure_1::1 -down[#white]-> transform

transform -down-> Structure_2::1

Structure_1::2 -> Structure_2::2

Structure_1::3 -down-> "data transform"

"data transform" -down-> Structure_2::3

"addition data" -down-> 

А так — результат (маппинг данных):

 Результат рендеринга
Результат рендеринга

Какие нюансы нужно учесть:

1. Активно «играйте» связями: они помогают двигать объекты на диаграмме.

2. Используйте невидимые элементы и связи.

Сначала это кажется сложно. Но позже, когда освоишь ухищрения и «костыли», рисовать настоящие шедевры. И тогда у час будет полнейший docs as code.

Похожее можно рисовать и в graphviz, но там синтаксис потяжелее будет. Как? Могу показать.

Теги:
Всего голосов 6: ↑5 и ↓1+6
Комментарии0

А все-таки Qwen3.8-27B — думает меньше и быстрее чем 3.6

В пятницу вышла Qwen3.8-27B. Скажу честно, с середины мая я отказался от подписок и сидел исключительно на локальной Qwen3.6 (для всех своих домашних проектов), у меня даже статья была на эту тему. Поэтому мне было очень интересно увидеть на что способна новая Qwen3.8-27B.

Тут на Хабре было несколько статей о том, что 3.8 слишком долго думает и что у 3.8 слишком много галлюцинаций (что, как мне кажется, не совсем корректно), поэтому я решил поделиться настройками, которые работают (у меня), надеюсь они будут кому-нибудь полезны. Qwen3.8-27B превзошла мои самые смелые ожидания, и уж что-что, а задумчивой ее никак не назовешь.

А все-таки Qwen3.8-27B — думает меньше и быстрее чем 3.6

Публикации