Настроить Cookies
Мы используем Cookies для улучшения работы сайта
Настроить Cookies
Настройки Cookies
Файлы cookie, необходимые для корректной работы сайта, всегда включены. Другие файлы cookie можно настроить.
Основные файлы cookie
Всегда включены. Эти файлы cookie необходимы для работы веб-сайта и его функций. Их нельзя отключить. Они устанавливаются в ответ на ваши запросы, например, при настройке параметров конфиденциальности, входе в систему или заполнении форм.
Аналитические файлы cookie
Disabled
Эти файлы cookie собирают информацию, которая помогает нам понять, как используются наши веб-сайты, насколько эффективны наши маркетинговые кампании, а также помогает нам персонализировать наши веб-сайты для вас.
Рекламные файлы cookie
Disabled
Эти файлы cookie предоставляют рекламным компаниям информацию о вашей активности в интернете, чтобы помочь им показывать вам более релевантную рекламу или ограничивать количество показов рекламы. Эта информация может быть передана другим рекламным компаниям.
Принцип каскадного снижения связанности и его проверка измерением архитектурных метрик
Тезисы
Что такое связанность и связность (или прочность), многие уже слышали (если нет, не страшно — кратко вспомним об этом), но часто ли вы их замеряете? Да и в целом, у вас никогда не вызывало недоумения, что связанность (coupling) и прочность (или связность, cohesion) — это про примерно одно и то же, но одно — хорошо, а другое — почему-то плохо? :)

Компоненты в большой сложной системе вложены друг в друга, и то, что являлось связанностью (скорее отрицательной характеристикой) на одном уровне — становится прочностью на следующем (т.к. становится внутренней связью компонента, а не внешней)!

В докладе расскажу о выведенном и предлагаемом мной принципе каскадного снижения связанности, на его примере поговорим о том, как в целом замерять архитектурные метрики, как понять, какие значения метрик хорошие и плохие, и как по ним проверять архитектуру на соблюдение принципов проектирования. Более того — поговорим о том, как всё это (замер метрик и прогон тестов на принципы) автоматизировать.

Поделюсь ссылкой на свой OpenSource-репозиторий с инструментами для измерения архитектурных метрик и покрытия архитектуры тестами (и приглашу всех стать контрибутерами). И, надеюсь, добавлю в вашу копилку +1 принцип проектирования распределенных систем :)
Что такое связанность и связность (или прочность), многие уже слышали (если нет, не страшно — кратко вспомним об этом), но часто ли вы их замеряете? Да и в целом, у вас никогда не вызывало недоумения, что связанность (coupling) и прочность (или связность, cohesion) — это про примерно одно и то же, но одно — хорошо, а другое — почему-то плохо? :)

Компоненты в большой сложной системе вложены друг в друга, и то, что являлось связанностью (скорее отрицательной характеристикой) на одном уровне — становится прочностью на следующем (т.к. становится внутренней связью компонента, а не внешней)!

В докладе расскажу о выведенном и предлагаемом мной принципе каскадного снижения связанности, на его примере поговорим о том, как в целом замерять архитектурные метрики, как понять, какие значения метрик хорошие и плохие, и как по ним проверять архитектуру на соблюдение принципов проектирования. Более того — поговорим о том, как всё это (замер метрик и прогон тестов на принципы) автоматизировать.

Поделюсь ссылкой на свой OpenSource-репозиторий с инструментами для измерения архитектурных метрик и покрытия архитектуры тестами (и приглашу всех стать контрибутерами). И, надеюсь, добавлю в вашу копилку +1 принцип проектирования распределенных систем :)
Видеозапись доклада
Появится здесь после конференции
Информация о спикере
Руслан Сафин
Архитектор и технический директор, Бындюсофт
Автор и преподаватель курса по микросервисной архитектуре в ИТМО и магистратурах партнёров (Яндекс, ВШЭ и др.)

Член программных комитетов CodeFest, TechLeadConf и CTOConf
  • Руслан Сафин
    Архитектор и технический директор, Бындюсофт
    Автор и преподаватель курса по микросервисной архитектуре в ИТМО и магистратурах партнёров (Яндекс, ВШЭ и др.)

    Член программных комитетов CodeFest, TechLeadConf и CTOConf
Все доклады секции