@Alexey_Kutepov
Разработчик программного обеспечения

Как вы боретесь с наследием кода в больших проектах?

Добрый день коллеги!

Хотелось бы узнать общественное мнение по поводу наследия кода. Ни для кого не является секретом тот факт что большие проекты, разработка которых идёт много лет, часто бывают сильно переусложнены по своей структуре, архитектуре, с помощью "зоопарка технологий" и т. д. А если копнуть глубже, то часто можно наткнуться на откровенный говнокод, но при этом всё работает.
Часто выходит такая ситуация: код ужасен но он работает, а рефакторинг ещё больше пугает чем код.

Как вы решаете подобную проблему?
  • Вопрос задан
  • 2903 просмотра
Решения вопроса 2
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Никакие размеры кода не должны пугать, если на это выделяется бюджет.
Если не выделяется - значит рефакторинг ради рефакторинга не нужен.

Если программа нужна заказчику, то просто берете и проводите investigation - что будет лучше и выгоднее в конечном счете - масштабный рефакторинг или написание с нуля. Если цена устраивает - определяются сроки, нанимаются люди. В общем не то вас пугает.
Ответ написан
Комментировать
@AlexLIn
Работает? Не трож. Так надо.
Не часто начальство платит за рефакторинг или переписования кода.
Клиентом тоже пох. что и как там написанно, если все работает и не падает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kondaurov
Full stack developer
Разработка через тестирование (наличие тестов) дают хоть какую то гарантию на архитектуру вашего приложения, что она не поменяется если прийдет другой человек на место создателя приложения.

vasIvas @vasIvas
А можете объяснить, как тесты помогают избавится от плохого кода и тем более от неправильной архитектуры?
Написано 03 марта
Ответить
Nc_Soft @Nc_Soft
vasIvas: никак


Вы че гоните? прежде чем писать функцию - придумай тест и придумай 3 - 4 кейса к нему! Я разрабатываю через тестирование а не "тестирую сотнями запусками функций руками". Потом я уверенно использую эти функции в комбинации с другими и получаю проект который сразу работает и мне не надо писать еще интеграционные тесты потому что корень зла был убит еще в начале.

Потом можно без опаски рефакторить! А рефакторить код который сам не писал или писал давно просто не реально, а если ваш проект связан с откруткой денег то и страшно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы