Как стать автором
Обновить

Укрощая зверя: legacy-код, тесты и вы

Время на прочтение10 мин
Количество просмотров8.7K
Всего голосов 20: ↑20 и ↓0+20
Комментарии6

Комментарии 6

Что такое legacy-код
Определений много. Я считаю, что это «достаточно старый» код возрастом от 2 месяцев до 10 лет. Legacy-код запутан и хрупок, но как гигантский змей пожирает свой хвост.

Я бы добавил бы уточнение: «legacy-код — это код который приносит компании прибыль, ибо если бы он не приносил прибыль, его бы давным давно выкинули бы из проекта и тем более не поставили бы задачу его отрефакторить и привести в порядок»

Не факт. Legacy может быть мёртвым, никогда не запускаемым в реальности, или запускаемым, но не используемым никогда.

Не думаю, что такой вариант будет запланирован для рефакторинга или он требует какой-то поддержки /изменений. Собственно говоря, «легаси-код» и возникает в тот момент, когда начинают его препарировать, потому что он нужен. А до этого момента, это что-то типа черного ящика.

Ну вот у нас сейчас в планах рефакторинга в том числе выпиливание двух-трёх больших кусков старого кода. Полностью под рефакторинг попадает — улучшение кода, не изменяющее наблюдаемое поведения.

Не выкинули бы.
Надо понимать, что в крупных компаниях необходимо согласовывать как ввод в эксплуатацию так и вывод из эксплуатации. Если в первом случае есть мотивация запустить проект, то во втором ни у кого мотивации нет что-то менять, кроме ну очень проактивного лида
Правильные инструменты рефакторинга это огромный процент успеха.
Старайтесь как можно меньше менять вручную.
Пишите собственные инструменты автоматизации рефакторинга и редизайна.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий