Задать вопрос

Как пояснить клиенту что такое технический долг и рефакторинг?

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

В основном занимаюсь фулстек разработкой оригинальных продуктов, на Django/Ror, иногда это довольно сложные приложения, то есть не штампинг сайтов с использованием готовых решений.

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

Хотелось бы узнать как вы с этим живете.
  • Вопрос задан
  • 3726 просмотров
Подписаться 19 Оценить Комментировать
Ответ пользователя Максим Кудрявцев К ответам на вопрос (11)
kumaxim
@kumaxim
Web-программист
Для начала скажите зачем Вы вообще хотите рефакторить код? Моральное удовлетворение?! Технический долг?! Вам что, приятнее трахаться с функциями в коде, чем со своей девушкой?

Работает код - не трогайте его, пусть дальше работает.

А вот если клиенту нужно сделать какую-то специальную фишку, для чего тебе нужно влезть в N*100 классов, добавить обработку новых входных параметров, прописать формирование и контроль выходных данных... Вообщем создает много гемороя, вот тогда ты говоришь клиенту, что это встанет в столько-то часов твоего времени и вот такой будет ценник и, если тот соглашается, уже начинаешь рефакторить.

Вообще где-то я видел мнение(тут на тостере или на codenet) что клиенту вообще не надо знать, что ты занимаешься рефакторингом, с чем лично я согласен. Ты показываешь ему свои почасовые отчеты, клиент видит что ты работаешь, все. Остальное уже те мелочи, от которых ты его избавляешь как специалист.
Ответ написан