DEV_EASY_NOTES Telegram 133
Все слышали про Дядю Боба и его вклад в индустрию. Одна из известнейших его идей это Clean Architecture, которую сейчас используют оочень много проектов. В какой проект не приди там будет Clean, за некоторыми исключениями. На этот пост меня сподвигла ситуация, когда я собеседовал разработчика и при решении задачи с архитектурой, он сказал что всегда нужно делать Interactor, даже когда в них нет логики и они просто проксируют вызовы, на всякий случай.

Соль в том, что чем дальше двигается индустрия тем больше Clean Architecture обретает ореол сверхценной идеи. Если ты не используешь Clean значит твоя архитектура хрень и скорее всего проект не взлетит. Успех проекта зависит же исключительно от архитектуры!

Мы стали забывать, что Clean это лишь рекомендация человека, который был простым разработчиком. Да с большим опытом, да очень медийным, но все равно разработчиком. Людям склонно ошибаться, индустрия разработки это не математика, нельзя придумать формулу, которая будет одинакова везде. Каждый проект отличается.

В целом можно понять почему разработчики пытаются полностью следовать Clean и делают кучу интерфейсов. Всегда есть страх того, что вот сейчас придет заказчик и скажет поменять базу данных. А мы как раз готовились к этому всю жизнь, у нас все на интерфейсах и мы быстро мигрируем. Только вот прикол в том, что заказчик не придет с таким, особенно если речь идет о Android. Он максимум придет с предложением перекрасить кнопки в другой цвет. Мы защищаемся от изменений которые никогда не произойдут.

К чему все эти разглагольствования. Clean это лишь рекомендация по архитектуре, а это значит не нужно все делать именно так как описано в книге Мартина, можно и нужно отходить в сторону если считаете, что так будет удобнее. Даже используя Clean нужно задавать вопросы и не следовать слепо общему тренду.

Я не буду говорить как правильно делать архитектуру, этого никто не знает. Если человек говорит, что знает как сделать архитектуру которая всем поможет он пиздит. Однако я могу сказать что не нужно делать:

👉 Не нужно покрывать все и вся интерфейсами, если вы не подменяете это в тестах. Эти интерфейсы только мешают. У нас сейчас крутые IDE, которые если необходимо могут сами выделить интерфейсы когда это понадобится.
👉 Не нужно делать проксирующие интеракторы без логики. Нафиг эти интеракторы которые существуют просто потому что. Чем меньше кода, тем меньше багов.
👉 Не нужно спорить про разницу между Interactor и UseCase. Давайте начистоту, да никто не знает в чем разница. Даже сам Мартин уже не помнит этого. Не занимайтесь холиваром, лучше займитесь делом.
👉 Не нужно пытаться предсказать изменения и везде где можно постелить солому в виде абстракций. Вы не сможете предсказать изменения. Однако это тонкая грань, архитектура не должна ломаться от изменений в требованиях, но и не нужно пытаться предсказать все на свете.
🚫 Не нужно делать интерфейсы на интеракторы. Вот это вообще масло масленное. Довольно часто можно такое заметить. Интеракторы вы точно не будете заменять в тестах, это чистая бизнес логика. Если вам нужно заменить интерактор в тесте, значит интерактор делает то, что не должен!

Подводя итог, чтобы дать конкретные наставления. Если вы джун, строго следуйте Clean, так вы точно не натворите полной фигни. Если вы уже мидл или сеньор задумывайтесь о том, нужно ли вам строго следовать канонам или они только мешают.
👍495🔥1



tgoop.com/dev_easy_notes/133
Create:
Last Update:

Все слышали про Дядю Боба и его вклад в индустрию. Одна из известнейших его идей это Clean Architecture, которую сейчас используют оочень много проектов. В какой проект не приди там будет Clean, за некоторыми исключениями. На этот пост меня сподвигла ситуация, когда я собеседовал разработчика и при решении задачи с архитектурой, он сказал что всегда нужно делать Interactor, даже когда в них нет логики и они просто проксируют вызовы, на всякий случай.

Соль в том, что чем дальше двигается индустрия тем больше Clean Architecture обретает ореол сверхценной идеи. Если ты не используешь Clean значит твоя архитектура хрень и скорее всего проект не взлетит. Успех проекта зависит же исключительно от архитектуры!

Мы стали забывать, что Clean это лишь рекомендация человека, который был простым разработчиком. Да с большим опытом, да очень медийным, но все равно разработчиком. Людям склонно ошибаться, индустрия разработки это не математика, нельзя придумать формулу, которая будет одинакова везде. Каждый проект отличается.

В целом можно понять почему разработчики пытаются полностью следовать Clean и делают кучу интерфейсов. Всегда есть страх того, что вот сейчас придет заказчик и скажет поменять базу данных. А мы как раз готовились к этому всю жизнь, у нас все на интерфейсах и мы быстро мигрируем. Только вот прикол в том, что заказчик не придет с таким, особенно если речь идет о Android. Он максимум придет с предложением перекрасить кнопки в другой цвет. Мы защищаемся от изменений которые никогда не произойдут.

К чему все эти разглагольствования. Clean это лишь рекомендация по архитектуре, а это значит не нужно все делать именно так как описано в книге Мартина, можно и нужно отходить в сторону если считаете, что так будет удобнее. Даже используя Clean нужно задавать вопросы и не следовать слепо общему тренду.

Я не буду говорить как правильно делать архитектуру, этого никто не знает. Если человек говорит, что знает как сделать архитектуру которая всем поможет он пиздит. Однако я могу сказать что не нужно делать:

👉 Не нужно покрывать все и вся интерфейсами, если вы не подменяете это в тестах. Эти интерфейсы только мешают. У нас сейчас крутые IDE, которые если необходимо могут сами выделить интерфейсы когда это понадобится.
👉 Не нужно делать проксирующие интеракторы без логики. Нафиг эти интеракторы которые существуют просто потому что. Чем меньше кода, тем меньше багов.
👉 Не нужно спорить про разницу между Interactor и UseCase. Давайте начистоту, да никто не знает в чем разница. Даже сам Мартин уже не помнит этого. Не занимайтесь холиваром, лучше займитесь делом.
👉 Не нужно пытаться предсказать изменения и везде где можно постелить солому в виде абстракций. Вы не сможете предсказать изменения. Однако это тонкая грань, архитектура не должна ломаться от изменений в требованиях, но и не нужно пытаться предсказать все на свете.
🚫 Не нужно делать интерфейсы на интеракторы. Вот это вообще масло масленное. Довольно часто можно такое заметить. Интеракторы вы точно не будете заменять в тестах, это чистая бизнес логика. Если вам нужно заменить интерактор в тесте, значит интерактор делает то, что не должен!

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

BY Dev Easy Notes


Share with your friend now:
tgoop.com/dev_easy_notes/133

View MORE
Open in Telegram


Telegram News

Date: |

End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data.
from us


Telegram Dev Easy Notes
FROM American