Ну, дорогие, вы чего ↑ ↑ ↑
"немного копиписты логики" быстро разрастётся в 100500 мест по всему коду, да ещё и с небольшими "местными" правками. И когда вы вздумаете этот код отрефакторить (причём вручную), всё равно получится зависимость, только не маленькая, а функция со 128 параметрами в попытке учесть все контексты, да ещё и не факт, что вы поймаете в рефакторинг все "похожие" куски кода.
А если вы сразу добавите немного зависимости -- компактная функция с чётко определённой спецификацией, во-первых, теперь править можно только одно место в коде, а во-вторых, главное, весь внешний код в 100500 мест теперь будет писаться с учётом сигнатуры этой функции, и неприятных побочных последствий практически не возникнет.
Но тут конечно нужен разумный баланс, который рождается из опыта + правильного обучения. Например, вы можете чрезмерно увлечься IoC, хотя все подобные проблемы естественно решаются иммутабельностью, и т.п.
Короче, всем срочно на мой курс по software design "Незримые механизмы логики" 🙏
P.S. Shittier с картинки забираем тут.
Post #1408
1.27K

- ✍ 50
- 👍 7
- 🔥 7
- 🐳 5
- 🫡 5