Поддержка программных модулей
Оптимизация кода
Рефакторинг
Методы оптимизации 1
Методы оптимизации 2
100

Основные проблемы поддержки ПМ?

•Устаревание кода и зависимостей

•Накопление технического долга

•Ошибки, выявленные в процессе эксплуатации

•Изменение требований бизнеса

100

Цель оптимизации кода

улучшение производительности и эффективности

100

Какие приемы можно применить для рефакторинга?

1.Извлечение метода (Extract Method)

2.Переименование переменных (Rename Variable)

3.Замена магических чисел на константы

4.Упрощение условных выражений

5.Устранение дублирования

100

Суть метода "разделение ответственности"

Каждый класс/метод решает одну задачу

100

Суть метода "оптимизация алгоритмов"

Выбор оптимальных структур данных

200

Цель поддержки ПМ

•Обеспечение работоспособности

•Улучшение сопровождаемости

200

Цель рефакторинга кода

улучшение читаемости и структуры без изменения функциональности

200

3 метода рефакторинга

•Плановый рефакторинг (часть спринта в Agile)

•Рефакторинг «по требованию» (перед добавлением нового функционала)

•Технический долг (фиксация в Issue Tracker: Jira, GitHub Issues)

200

Суть метода "устранение дублирования кода"

вынесение повторяющихся фрагментов в отдельные методы

200

Суть метода "тестирование и отладка"

Написание модульных тестов

300

Что такое технический долг?

•метафора программной инженерии, обозначающая накопленные в программном коде или архитектуре проблемы, связанные с пренебрежением качеством при разработке ПО

300

Методы оптимизации программного кода

Разделение ответственности, устранение дублирования кода, замена магических значений, улучшение читаемости, оптимизация работы с ресурсами, внедрение проверок и валидации, рефакторинг условных конструкций, оптимизация алгоритмов, тестирование и отладка, документирование изменений

300

2 инструмента рефакторинга

•Встроенные средства IDE (ReSharper, IntelliJ IDEA)

•Анализаторы кода (SonarQube)

300

Суть метода "замена магических значений"

Использование констант и перечислений

300

Суть метода "документирование изменений"

Фиксация выполненных оптимизаций

400

Состав работ по поддержке, 5 шагов

Мониторинг, исправление дефектов, обновление зависимостей, документирование зависимостей, резервное копирование и откат

400

Суть метода "улучшение читаемости"

Осмысленные имена переменных и методов

500

Что такое логирование?

Запись системных событий в специальные файлы - логи

500

Суть метода "рефакторинг условных конструкций"

Использование стратегий и шаблонов проектирования

M
e
n
u