Характеристические тесты фиксируют текущее поведение до изменения конструкции
Зачем
Зачем это нужно
Критерий отката делает каждый шаг обратимым при неожиданном эффекте
Список вне границ защищает рефакторинг от бесконечного улучшения соседнего кода
Вопросы
Частые вопросы
Что такое характеристический тест?
Это тест, который фиксирует фактическое текущее поведение старого кода, даже если оно не идеально описано. Он создаёт страховочную сетку перед перестройкой. Сначала убедитесь, что странное поведение не является известным дефектом, который нельзя закреплять как требование.
Можно ли рефакторить без тестов?
Риск заметно выше. Начните с небольшой области и добавьте проверки публичного результата, логов или снимков данных. Если автоматизировать нельзя, составьте ручной чек-лист и сравнение до/после на копии. Критичный модуль без наблюдаемости лучше не переписывать одним большим патчем.
Как отличить рефакторинг от новой функции?
После чистого рефакторинга внешнее наблюдаемое поведение не меняется. Новая ошибка, формат ответа, параметр или ускорение, заметное пользователю, может потребовать отдельного требования и теста. Разделяйте коммиты, чтобы причина изменения и откат оставались понятными.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.