Back to all news

Блог команды Gem4me, выпуск 56

04/09/2021

Добрый день, друзья.

Сегодня нам хотелось бы обсудить с вами довольно интересный технический термин — "рефакторинг".

Рефакторинг — это процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. С точки зрения бизнеса данный процесс не несет прямой выгоды. Может возникнуть вопрос - зачем менять “внутренность” программы, если это не прибыльно? Ответ очень прост. Истории известно большое количество проектов, которые канули в лету только из-за того, что вопрос рефакторинга был отложен в долгий ящик. В результате разработка нового функционала начала требовать колоссальных трудозатрат, а расходы на разработку стали значительно превышать прибыль от продукта. Поэтому крайне важно не доводить проект до состояния, когда объем технического долга (задач по рефакторингу) задушит проект.

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

Как мы находим “золотую середину”? 

Уже второй год вся наша команда разбита на три кросс-функциональные подкоманды, две из которых (“продуктовые”) занимаются разработкой нового функционала, а одна (“core-команда”) может полностью сосредоточиться на техническом состоянии проекта. Это не значит, что продуктовые команды пишут код кое-как и за ними постоянно приходится его переделывать. Просто когда ты постоянно добавляешь в продукт куски нового кода, нужно внимательно следить за тем, чтобы они не конфликтовали друг с другом и со старым кодом.

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

Оставайтесь с нами и будьте в курсе всего, что у нас происходит!

Всегда ваша,

команда Gem4me

Other news
We use cookies to enhance your experience and personalize the content you see. By continuing to browse this website, you consent to the use of cookies under the terms of the Privacy Policy. You can adjust your cookies using your browser and services as set forth in the Policy.
OK