Slide 1

Slide 1 text

Как не потонуть в пучине легаси Михаил Матросов Align Technology Software Engineering Conference Russia 2018 October 12-13 Moscow

Slide 2

Slide 2 text

• 20 лет разработки • 2М строк кода • Windows desktop • C++ • 100 разработчиков • Быстрый рост

Slide 3

Slide 3 text

Что такое легаси? (в рамках текущего доклада)

Slide 4

Slide 4 text

• Большой объём кода • Работает и приносит деньги (много) • Множество авторов • Множество стилей и подходов • Проблемы с документацией • Устаревшие инструменты • Скрытые связи

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

• Большой объём кода • Работает и приносит деньги (много) • Множество авторов • Множество стилей и подходов • Проблемы с документацией • Устаревшие инструменты • Скрытые связи Сложность разработки

Slide 7

Slide 7 text

Время Сложность разработки Спринт

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Команда Два ведущих инженера Два старших разработчика Три младших разработчика Два интерна Архитектор Тестировщик Менеджер

Slide 10

Slide 10 text

Устаревший и дублицированный код Переиспользование существующего кода Производительность приложения Создание серверного бэкенда Увеличение продуктивности пользователя Увеличение скорости разработки Уменьшение стоимости разработки Миграция в облако и продажа подписки Разнородные конфигурационные файлы Классы смешивают уровни модели и визуализации Разные сторонние библиотеки для решения одной задачи Алгоритмы оперируют конкретными типами, а не интерфейсами Задачи бэклога Группы проблем Видимые эффекты Бизнес цели

Slide 11

Slide 11 text

• Множество стилей и подходов  Внедрение автоматического форматирования кода (clang-format)  Унификация конфигурационных файлов  Развитие стандарта кодирования • Проблемы с документацией  Создание документации по процессам разработки  Покрытие юнит-тестами базовых компонентов • Скрытые связи  Явное выделение слоёв (layers) приложения  Разбитие монолитного приложения на изолированные компоненты • Устаревшие инструменты  Переход с 32-битной на 64-битную архитектуру  Переход на новую версию компилятора (VS2013 -> VS2017)

Slide 12

Slide 12 text

Адекватный менеджмент, осознающий проблему Наличие пары экспертов, желающих что-то изменить Поддержка и доверие разработчиков Удачный найм увлечённых специалистов

Slide 13

Slide 13 text

[email protected] +7 (926) 381-61-64 Telegram/WhatsApp