SOLID
Медийный продукт Роберта Мартина (ака Дядя Боб). Сколько книг он написал и конференций провёл, где рассказывал 5 заветных принципов “как писать код и какими принципами руководствоваться”. Я прочитал не одну его книгу и могу сказать - он хорошо продвигает свою идеологию, проникает в неокрепшие умы и плотно там закрепляется.
Как и любую другую идеологию, её очень сложно выбить из своей головы и посмотреть на вещи с другой стороны. Для этого придется сломать в себе те столпы, на которых она держится.
У меня первый надлом в его принципах произошел из-за постоянных переработок и непопадания в сроки. Зачем писать кучу ненужного кода…
Второй - когда я устроился на второй проект. Там от его принципов не просто отказались, а даже не слышали. И знаете что? Проект в сотни раз проще масштабирутся, дебажить его проще, а самое главное логика лежит на поверхности. Никакой сотни классов и название FooAbstractFactorySingletoneFacade3000, которое можно использовать как стоп-слово 🤔
Тогда я понял, что слепо веровать и следовать - максимально непродуктивно.
Только 2 принципа оказались хоть как-то применимы на практике и хоть чуточку полезными:
DIP — когда вы можете разорвать кольцевую зависимость и развернуть связи в обратном направлении.
ISP — бывает удобно выделить интерфейс или несколько, и написать всего 1 обработчик.
Все. Остальное расплывчато сформулировано (OCP), устарело (LSP) и почти не применимо на практике (SRP).
Дядя Боб — инфлюенсер-зумер. Этакий инфоцыган, до того как это стало мейнстримом. Ведь до эпохи соц.сетей и блогов единственный способ стать известным и заработать на этом — книги.
Что мы имеем в сухом остатке?
— Популярную идеологию, которая распространена по всему СНГ и ближней Европе (за другие локации не скажу).
— Кучу новичков и опытных программистов, которые ей следуют и заставляют следовать других.
— Тысячи загубленных проектов, которые проще написать с нуля, чем поддерживать дальше.
Зафиналить хочу так — есть реальная проблема! Обучающего контента, уровня реальных проектов, очень мало, даже по архитектуре. Я решил это исправить — создал этот канал.
В следующем посте цикла "аббревиатуры" — DI
#аббревиатуры@UniArchitect
Post #19
1.75K
- 👍 9
- ⚡ 6
- 🤔 3
- 😁 1