← Все постыНаписать

Рефакторинг кода: самое сложное, что я продавал

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

Самое сложное, что я в жизни продавал — это рефакторинг. Возможно, потому что не умею доносить ценность. Хотя, если что-то не умеешь продавать — это именно это и означает.

Вы разрабатываете софт или сайт. Разработали, внедрили, потом у вас появилось желание кое-что добавить, потом еще что-то. А вот то первое убрать.

Тут как со с строительством дома. Построили одноэтажный, потом решили достроить еще 4 этажа. Но вот проблема, что фундамент не держит, вода по трубам до пятого этажа не доходит, лифт уже не прорубить и приходится делать снаружи.

Иногда проще снести и построить новое. Либо разобрать до фундамента и собрать заново.

Не платите за рефакторинг? Тогда вырастут расходы на:
1. Доработки, они будут занимать больше часов

2. Часов на тестирование нужно больше

3. Рано или поздно приходите к ситуации, что без автотестов никуда. А на них тоже нужны часы программистов

Когда платить не надо:
1. Продукт не развивается

2. а всё, нет других вариантов

Как оттянуть момент:
1. Требования заранее собирать более полные

2. Программистов брать поопытнее

3. Правки вносить только необходимые

4. Изначально вложиться в архитектуру

Вопросы и ответы

Что такое рефакторинг и зачем он нужен?

Софт обрастает доработками, как дом, на который надстроили этажи без нужного фундамента. Иногда проще разобрать до фундамента и собрать заново — это и есть рефакторинг.

Что будет, если не делать рефакторинг?

Доработки и тестирование будут занимать больше часов. Рано или поздно без автотестов уже не обойтись, а на них тоже нужны часы программистов.

Как отложить рефакторинг кода?

Собирать требования полнее заранее, брать опытных программистов, вносить только необходимые правки и с самого начала вложиться в архитектуру.

Обсудить в Telegram Подписаться на @altocodes