О чём курс
Ваш исходный код сложно читать, вы вспоминаете не добрым словом автора кода, который попал к вам в руки, потому что вы тратите время на понимание того, что хотел выразить разработчик в этом не читаемом фрагменте кода.
Если вы узнали свои будни, тогда этот тренинг вам будет полезен. Мы изучим, что такое запахи кода, как и когда они появляются, а также какие существуют техники их устранения. Мы начнем с простейших проблем в одной функции, и закончим проблемами взаимодействия между классами. Мы поговорим о том, как надо делать и что не надо делать, чтобы ваш код было легко читать.
Цели
На этом тренинге слушатели получат представление:
О том, что такое запахи кода.
О передовых техниках улучшения читабельности существующего кода.
После тренинга слушатели будут уметь:
Выделять проблемные места в программном коде на языке C#.
Улучшать читабельность исходного кода на языке C#.
Целевая аудитория
Разработчики исходного кода на языке С# с опытом работы от 1 года до 2 лет.
Предварительная подготовка
Базовые общие знания в области программирования
Базовые знания скриптовых языков
Способность понимать логические потоки кода
Для кого
Разработчик
Улучшаемые навыки
Определение и устранение проблем в коде
Применение методов рефакторинга
Использование инструментов для рефакторинга
Тестирование после рефакторинга
Поддержание чистоты кода
Программа курса
01
Рефакторинг – введение
Понятие рефакторинга, для чего нужен рефакторинг кода;
Разработка через тестирование.
Общая информация;
Определение запаха кода;
Принципы хорошего дизайна;
Запахи кода в тестах, запахи в базах данных (обзор);
Запахи в архитектуре, запахи в управлении персоналом.
Организация данных;
Поля;
Массивы данных;
Ссылки и значения;
Кодовые поля;
Упрощение условных выражений;
Упрощение вызова методов;
Работа с обобщениями;
Композиция методов.
04
Проблемы внутри класса
Легко обнаруживаемые проблемы;
Именование;
Чрезмерная сложность;
Дублирование;
Условная логика.
05
Перемещение функционала между объектами
Принцип единой ответственности;
Связность;
Закон Деметра;
Передвижение методов/полей;
Выделение класса;
Встраивание класса;
Сокрытие делегатов;
Удаление посредника;
Методы расширения.
06
Проблемы во взаимодействии классов
Данные;
Наследование;
Ответственность;
Приспосабливающиеся изменения;
Библиотечные классы.
Чему вы научитесь
01
Научитесь выявлять проблемные участки в коде, такие как дублирование, сложность и недостаточная читаемость
02
Освоите различные методы и техники рефакторинга, такие как извлечение методов, переименование переменных и классов
03
Научитесь использовать инструменты и среды разработки
04
Освоите методы написания и выполнения тестов для проверки корректности работы кода после рефакторинга
05
Научитесь применять принципы чистого кода и лучшие практики программирования