Files
progcode/web/public/assets/editorial/2027/bitrix-lessons-2027-keep-wrap-replace-tree.svg
T
2026-07-31 22:26:56 +03:00

17 lines
2.8 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 500" role="img" aria-labelledby="title desc">
<title id="title">Дерево решения для Bitrix legacy</title>
<desc id="desc">Схема связывает callers, побочные эффекты и тесты с выбором сохранить вызов, добавить адаптер или заменить реализацию.</desc>
<defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto"><path d="M0,0 L9,3 L0,6 Z" fill="#52657d"/></marker></defs>
<rect width="720" height="500" fill="#fff"/><style>text{font-family:Arial,sans-serif;fill:#172033}.head{font-size:23px;font-weight:700}.bold{font-size:16px;font-weight:700}.small{font-size:14px}.box{fill:#eef4ff;stroke:#3767b1;stroke-width:2}.ok{fill:#e9f8ef;stroke:#288653;stroke-width:2}.stop{fill:#fff0f0;stroke:#b53838;stroke-width:2}</style>
<text x="36" y="42" class="head">Bitrix legacy: сохранить → обернуть → заменить</text>
<rect x="208" y="72" width="304" height="72" rx="10" class="box"/><text x="360" y="103" text-anchor="middle" class="bold">Проверить callers и контракт</text><text x="360" y="126" text-anchor="middle" class="small">тесты · поля · побочные эффекты</text>
<path d="M360 144v42M360 186H126v34M360 186h234v34" fill="none" stroke="#52657d" stroke-width="3" marker-end="url(#arrow)"/>
<rect x="32" y="222" width="188" height="88" rx="10" class="ok"/><text x="126" y="255" text-anchor="middle" class="bold">СОХРАНИТЬ</text><text x="126" y="279" text-anchor="middle" class="small">эффекты ещё не ясны</text>
<rect x="266" y="222" width="188" height="88" rx="10" class="ok"/><text x="360" y="255" text-anchor="middle" class="bold">ОБЕРНУТЬ</text><text x="360" y="279" text-anchor="middle" class="small">callers несколько</text>
<rect x="500" y="222" width="188" height="88" rx="10" class="ok"/><text x="594" y="255" text-anchor="middle" class="bold">ЗАМЕНИТЬ</text><text x="594" y="279" text-anchor="middle" class="small">контракт и тесты готовы</text>
<path d="M126 310v52M360 310v52M594 310v52" fill="none" stroke="#52657d" stroke-width="3" marker-end="url(#arrow)"/>
<rect x="38" y="376" width="176" height="56" rx="8" class="stop"/><text x="126" y="399" text-anchor="middle" class="small" fill="#991b1b">добавить</text><text x="126" y="417" text-anchor="middle" class="small" fill="#991b1b">characterization test</text>
<rect x="272" y="376" width="176" height="56" rx="8" class="box"/><text x="360" y="410" text-anchor="middle" class="small">canonical input/output</text>
<rect x="506" y="376" width="176" height="56" rx="8" class="box"/><text x="594" y="410" text-anchor="middle" class="small">regression и rollback</text>
</svg>