Описание
Ваш исходный код сложно читать, вы вспоминаете не добрым словом автора кода, который попал к вам в руки, потому что вы тратите время на понимание того, что хотел выразить разработчик в этом не читаемом фрагменте кода.
Если вы узнали свои будни, тогда этот тренинг вам будет полезен. Мы изучим, что такое запахи кода, как и когда они появляются, а также какие существуют техники их устранения. Мы начнем с простейших проблем в одной функции, и закончим проблемами взаимодействия между классами. Мы поговорим о том, как надо делать и что не надо делать, чтобы ваш код было легко читать.
удостоверение о повышении квалификации государственного образца
Цели
- О том, что такое запахи кода.
- О передовых техниках улучшения читабельности существующего кода.
- Выделять проблемные места в программном коде на языке C#.
- Улучшать читабельность исходного кода на языке C#.
Целевая аудитория
Предварительная подготовка
-
Базовые общие знания в области программирования
-
Базовые знания скриптовых языков
-
Способность понимать логические потоки кода
Разбираемые темы
-
1. Рефакторинг – введение
- Понятие рефакторинга, для чего нужен рефакторинг кода;
- Разработка через тестирование.
-
2. Запахи кода
- Общая информация;
- Определение запаха кода;
- Принципы хорошего дизайна;
- Запахи кода в тестах, запахи в базах данных (обзор);
- Запахи в архитектуре, запахи в управлении персоналом.
-
3. Общие проблемы в коде
- Организация данных;
- Поля;
- Массивы данных;
- Ссылки и значения;
- Кодовые поля;
- Упрощение условных выражений;
- Упрощение вызова методов;
- Работа с обобщениями;
- Композиция методов.
-
4. Проблемы внутри класса
- Легко обнаруживаемые проблемы;
- Именование;
- Чрезмерная сложность;
- Дублирование;
- Условная логика.
-
5. Перемещение функционала между объектами
- Принцип единой ответственности;
- Связность;
- Закон Деметра;
- Передвижение методов/полей;
- Выделение класса;
- Встраивание класса;
- Сокрытие делегатов;
- Удаление посредника;
- Методы расширения.
-
6. Проблемы во взаимодействии классов
- Данные;
- Наследование;
- Ответственность;
- Приспосабливающиеся изменения;
- Библиотечные классы.
Андрей с 2007 г. занимается разработкой ПО в финансовой области с использованием стека технологий .Net. Имеет большой опыт построения middle-ware-систем, а также обладает технологической экспертизой решений. Основные задачи стоят в области интегрирования нескольких разрозненных систем в единую информационную систему с высоким уровнем отклика.
Более 5 лет Андрей активно ведет собственный блог (http://softblog.violet-tape.ru), где рассказывает о технологиях разработки в статьях и видеоуроках. Является постоянным участником дискуссионного клуба Microsoft «Клуб директоров разработки». Также выступал в качестве автора для журнала MSDeveloper.ru.
Андрей постоянно интересуется новыми технологиями, способными сократить рутинную ручную работу, максимально отделить рутинные процессы от человеческого влияния: Continuous Integration, Testing, Deployment.
В Luxoft Training Андрей проводил курсы для сотрудников таких компаний, как Aker Solutions, Ижмаш - Беспилотные системы, Ойл-Телеком, Лаборатория Касперского, Московская биржа - Технологии, Video International, Ай-Теко, UBS, CreditSuisse.