Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
7 лет назад на одной ИТ-конференции спикер рассказывал про новую возможность Android платформы. После доклада его спросили про архитектуру, которую они используют в своей команде для разработки Android приложений. Его ответ заключался в том, что архитектура не важна, что каждый разработчик может делать так, как он хочет. Он сказал, что главное — это не где какие файлы лежат и что в них написано, а главное, чтобы были новые фичи. В наших приложениях в то время никакой архитектуры не было и мы только начинали интересоваться этим вопросом, но ответ спикера меня удивил. Уже тогда мне казалось, что такой подход только усложняет работу, а не упрощает. Например, когда программист работает над новой фичой, ему приходится проанализировать несколько вариантов, сделанных разными людьми в рамках одного проекта, и потратить время на принятие решения о том, какой же из этих вариантов использовать сейчас.
Сегодня про архитектуру мобильных приложений гораздо больше информации и больше разработчиков задумываются об этом при старте приложения. Неважно, один человек работает над приложением или команда. Набор принципов и договоренностей об организации кода, о том, какой должна быть архитектура, помогает быстрее находить ответы на вопросы в процессе написания и проектирования кода.
Читать про рефакторинг Headspace, Duolingo