Java: рефакторинг legacy-кода начинай с теста
Даже странное поведение старого метода может быть важно для вызывающего кода. Прежде чем «сделать красиво», зафиксируй, как он работает сейчас.
* Добавь тест на текущее поведение. Проверь обычный сценарий и важные граничные случаи.
* Меняй по одному шагу: переименуй переменную, выдели метод, упрости условие.
* После каждого изменения запускай тесты. Если что-то сломалось, причину проще найти в небольшом изменении.
* Исправления багов отделяй от рефакторинга. Изменение поведения лучше делать отдельным шагом с отдельным тестом.
Переписывание целого класса без покрытия усложняет проверку: код выглядит лучше, но сохранил ли он прежнее поведение?
Post #2328
1.68K
- ❤ 6
- 👍 6
- 🔥 3
- 🤬 1