О чём курс
Ваш исходный код сложно читать, вы вспоминаете не добрым словом автора кода, который попал к вам в руки, потому что вы тратите время на понимание того, что хотел выразить разработчик в этом не читаемом фрагменте кода.
Если вы узнали свои будни, тогда этот тренинг вам будет полезен. Мы изучим, что такое запахи кода, как и когда они появляются, а также какие существуют техники их устранения. Мы начнем с простейших проблем в одной функции, и закончим проблемами взаимодействия между классами. Мы поговорим о том, как надо делать и что не надо делать, чтобы ваш код было легко читать.
Цели
На этом тренинге слушатели получат представление:
О том, что такое запахи кода.
О передовых техниках улучшения читабельности существующего кода.
После тренинга слушатели будут уметь:
Выделять проблемные места в программном коде на языке C#.
Улучшать читабельность исходного кода на языке C#.
Целевая аудитория
Разработчики исходного кода на языке С# с опытом работы от 1 года до 2 лет.
Предварительная подготовка
Базовые общие знания в области программирования
Базовые знания скриптовых языков
Способность понимать логические потоки кода
Для кого
Разработчик
Улучшаемые навыки
Рефакторинг
C#
Microsoft .NET
ООП
TDD
Pапахи кода
Разработка через тестирование
Модульное тестирование
Паттерны проектирования
Инструменты
MicrosoftVisualStudio
Windows 10
Расписание курсов
Программа курса
01
Рефакторинг – введение
Понятие рефакторинга, для чего нужен рефакторинг кода;
Разработка через тестирование.
Общая информация;
Определение запаха кода;
Принципы хорошего дизайна;
Запахи кода в тестах, запахи в базах данных (обзор);
Запахи в архитектуре, запахи в управлении персоналом.
Организация данных;
Поля;
Массивы данных;
Ссылки и значения;
Кодовые поля;
Упрощение условных выражений;
Упрощение вызова методов;
Работа с обобщениями;
Композиция методов.
04
Проблемы внутри класса
Легко обнаруживаемые проблемы;
Именование;
Чрезмерная сложность;
Дублирование;
Условная логика.
05
Перемещение функционала между объектами
Принцип единой ответственности;
Связность;
Закон Деметра;
Передвижение методов/полей;
Выделение класса;
Встраивание класса;
Сокрытие делегатов;
Удаление посредника;
Методы расширения.
06
Проблемы во взаимодействии классов
Данные;
Наследование;
Ответственность;
Приспосабливающиеся изменения;
Библиотечные классы.
Рефакторинг программы «Шахматные фигуры»
Комплексный разбор legacy-кода
08
Итого на курс 24 часа: теория – 14 ч (58 %), практика – 10 ч (42 %)
Чему вы научитесь
01
Выделять проблемные места в программном коде на языке C#
02
Применять методы рефакторинга для устранения запахов кода
03
Использовать техники разработки через тестирование (TDD)
04
Оптимизировать взаимодействие между классами
05
Автоматизировать рефакторинг с помощью инструментов