🏆
.NET Developer Roadmap
  • README
  • Tech Skills
    • Язык C#
      • LINQ
      • Многопоточность и Асинхронность
      • Expression Trees
      • Рефлексия
      • Диагностика
    • Системы контроля версий
    • Технологии
      • .Net Framework / .Net Core
      • Фреймворки доступа к данным
        • Dapper
        • Entity Framework
      • Task Scheduling
      • Good to Know Libraries
    • Обеспечение качества
      • Тестирование
      • Рефакторинг
      • Code Review
      • Метрики и мониторинг
      • Работа с техническим долгом
    • Базы Данных
      • T-SQL
      • NoSQL
      • Search Engines
      • Cloud Databases
    • Принципы и методологии
      • Шаблоны проектирования
      • Шаблоны уровня доступа к данным
      • ООП
      • SOLID
      • Inversion of Control
      • Архитектурные шаблоны
        • Command Query Responsibility Segregation, CQRS
        • Domain-driven design, DDD
    • Построение Веб-сервисов
      • HTTP, REST, Веб-фреймворки
      • Логирование
      • Кэширование
      • Авторизация и Аутентификация
      • Web Servers
    • Алгоритмы и Структуры Данных
    • Распределённые системы и Микросервисы
      • Шаблоны проектирования
      • Семантики доставки
      • Message Brokers
      • Message-Bus
      • Docker
      • Kubernetes
      • Консенсус в распределенных системах
    • Автоматизация цикла разработки
    • Полезные ссылки
  • Personal Skills
    • Методологии разработки
Powered by GitBook
On this page
  • Темы:
  • Контрольный вопросы:
  • Источники:

Was this helpful?

  1. Tech Skills
  2. Обеспечение качества

Рефакторинг

Темы:

  • Понимание целей Рефакторинга

  • Понимание распространенных Code Smells

  • Владение стандартами кодирования и правилами именования

  • Владение распространенными техниками рефакторинга: Извлечение метода, Встраивание метода, Замена алгоритма, Расщепление переменной, Переименование метода, Разбиение условного оператора, Замена магического числа символьной константой и других.

  • Владение продвинутыми техниками рефакторинга: Замена делегирования наследованием, Создание шаблонного метода, Свёртывание иерархии, Замена конструктора фабричным методом, Введение Null-объекта, Замена наследования делегированием и других.

  • Работа со статическими анализаторами кода: StyleCop, Resharper, SonarCube

  • Документирование кода с помощью комментариев

Контрольный вопросы:

  • Какая цель Рефакторинга?

  • Почему модульные тесты важны при рефакторинге?

  • Что для Вас есть Code Smells?

  • Что могут показать статические анализаторы кода?

  • Нужно ли оставлять в коде комментарии?

Источники:

PreviousТестированиеNextCode Review

Last updated 5 years ago

Was this helpful?

Книга by Martin Fowler, with Kent Beck

Книга by Steve McConnell

Книга

Refactoring
Code Complete
Working Effectively with Legacy Code
CodeSmell
Соглашения о написании кода на C#
Приёмы рефакторинга