18-19 октября, прямо после конференции Joker 2015, в гостинице «Park Inn Пулковская» состоится тренинг эксперта по архитектуре и дизайну программных систем Евгения Кривошеева «Рефакторинг 2.0». В этом тренинге мы сфокусируемся на трех ключевых темах: осмысленность и целеполагание при рефакторинге, технические приемы его проведения и смена парадигмы мышления от «работает — не трогай» к «я всегда готов обеспечить качество при любых изменениях».
Ваш код неизбежно станет legacy. Это только вопрос времени. Как с этим жить?
Статичны только те системы, которыми никто не пользуется. Любая успешная система требует постоянной переработки. Но именно это и приносит основную боль развития системы. Начиная с определенного «момента Ж» белая и пушистая система вдруг превращается в образец костылестроения. И внесение небольшого изменения превращается в адовый квест. Это накопление технического долга убивает мотивацию инженеров и рентабельность проекта.
Ответом является практика рефакторинга — непрерывной поддержки внутреннего качества системы. Но бездумный рефакторинг может сжечь весь бюджет и еще больше ухудшить внутреннее и внешнее качество продукта. Поэтому в этом тренинге мы сфокусируемся на трех ключевых темах: осмысленность и целеполагание при рефакторинге, технические приемы его проведения и смена парадигмы мышления от «работает – не трогай» к «я всегда готов обеспечить качество при любых изменениях». Если Вы хотите получать удовольствие от чистого понятного кода в своем проекте — этот тренинг для Вас.
Для кого
Опыт на старте
После тренинга участники смогут
Видео и слайды
1. Постановка проблем
2. Практика локализации и обоснования проблем в коде: итерация 1
3. Как рефакторинг обеспечивает внутреннее качество продукта
4. Типовые проблемы кода (code smells) и их системы для установки общего словаря
5. Как влияют типовые проблемы кода (code smells) на внутреннее качество продукта
6. Практика локализации и обоснования проблем в коде с использованием вспомогательных утилит: итерация 2
7. Как не позволить техническому долгу загнать проект в «точку Ж»
8. Live coding demo: использование IDE для ускорения и повышения качества рефакторингов
9. Практика рефакторинга малыми шагами для обеспечения внутреннего качества: итерация 3
10. Как сделать рефакторинг осмысленным и направить его на повышение внутреннего качества, а не делать ненужную работу
11. Системы приемов рефакторинга для установки общего словаря
12. Конкретные виды рефакторинга и как их правильно проводить
13. Практика рефакторинга для обеспечения внутреннего качества: итерация 4
14. Практика рефакторинга для обеспечения внутреннего качества: итерация 5
15. Как проводить рефакторинг проблемного, нетестопригодного унаследованного кода с минимальными затратами
Что взять с собой на тренинг
Ноутбук с предустановленными продуктами:
В чем отличие от других тренингов по рефакторингу
Практическая работа участников абсолютно прозрачна — вся группа видит свои результаты в системе continuous integration и статических анализаторах кода. Это позволяет оценивать ценность от рефакторинга сразу же. Так же участники поймут важность рефакторинга на своем личном опыте — участники будут поддерживать код друг друга и короткая обратная связь от коллег в виде пары ласковых будет эффективнее любой длительной теории.
Так же мы добавили в тренинг ряд тем, совершенно не покрытых в других, более простых тренингах –
понимание инженерами проектных бизнес-ограничений для обоснованности рефакторинга, забота
о коммерческом успехе проекта.
Фокус на том, как сократить время поставок без потери качества, чтобы разработка и бизнес как можно скорее
получили ценность от системы.
Консультирует компании TOP-50 из российского IT в направлении улучшения эффективности и гибкости ИТ-подразделений. Сторонник внедрения гибких процессов «снизу», посредством распространения инженерных практик и осознанного подхода к проектированию.
В прошлом — архитектор в крупных коммерческих проектах. Имеет более чем семилетний опыт преподавания технологий на платформах J2SE, J2EE, BEA Systems, IBM и параллельной разработки. Отличительная черта — объединение широкого кругозора и практических приемов, полученных в реальных проектах. Способен донести сложные технологические знания самому широкому кругу слушателей. Тренер компании ScrumTrek, в настоящее время активно развивает проект SkillTrek.