🔥

Тред (Сергей Сова)


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

Проект растет и растет количество кода, вместе с директориями и файлами. Если не вводить четкой структуры проекта на раннем этапе разработки, развитие проекта превращается в сплошную боль. Хотя никто не запрещает класть код куда придется. Добавлять код легко и это главное.

Проблема в изменении существующего кода, ведь найти все возникшие дубликаты и использование функций/компонентов будет крайне сложно. Возникает так называемый WriteOnly код. Можно только добавлять новый, но не исправлять старый.

Но постой-ка Сова, напишете вы, Чистая архитектура Мартина советует выстроить проект таким образом, чтобы любая новая функциональность требовала только добавления кода, без изменения существующего.

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

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

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