Как вы помните, полгода назад меня перекинуло лидить PHP проект. И вот переодически начал видеть такие классы на ревью. Естественно в go командах такой проблемы не было.
Аргументы тех кто за - легко тестировать, SRP, просто и понятно и т.д. Из всего этого списка валидным, я могу признать валидным только легко тестировать - это правда. Все остальное слегка сомнительно, начиная от специфического понимания SRP(где вообще нет ни слова про то что один класс один метод), заканчивая тем что мне нифига неудобо шляться по yml конфигам и 30 классам, вместо того, чтобы просто прочитать простую плоскую функцию, пусть даже на 300 строк.
Когда я работал в одном сервисе доставки еды(не спрашивайте в каком, всё равно не скажу, но это была не ЯндексЕда), там увидел эту ситуацию возведенную в абсолют. Был вот такой интерфейс:
interface ServiceInterface { public function behave(Request $request): Response; }
И все классы должны были его реализовывать. Получается что любая операция представляля из себя бесконечный клубок функций вложенных одна в другую. Несмотря на то что каждый класс в отедльности правда был простой и понятный, разобраться что в целом происходит за время всего запроса было той еще задачей.
Короче получается какой-то дрочь ради дрочи, который плюсов не имеет совсем. Но может у кого-то есть иное мнение?
Как вы помните, полгода назад меня перекинуло лидить PHP проект. И вот переодически начал видеть такие классы на ревью. Естественно в go командах такой проблемы не было.
Аргументы тех кто за - легко тестировать, SRP, просто и понятно и т.д. Из всего этого списка валидным, я могу признать валидным только легко тестировать - это правда. Все остальное слегка сомнительно, начиная от специфического понимания SRP(где вообще нет ни слова про то что один класс один метод), заканчивая тем что мне нифига неудобо шляться по yml конфигам и 30 классам, вместо того, чтобы просто прочитать простую плоскую функцию, пусть даже на 300 строк.
Когда я работал в одном сервисе доставки еды(не спрашивайте в каком, всё равно не скажу, но это была не ЯндексЕда), там увидел эту ситуацию возведенную в абсолют. Был вот такой интерфейс:
interface ServiceInterface { public function behave(Request $request): Response; }
И все классы должны были его реализовывать. Получается что любая операция представляля из себя бесконечный клубок функций вложенных одна в другую. Несмотря на то что каждый класс в отедльности правда был простой и понятный, разобраться что в целом происходит за время всего запроса было той еще задачей.
Короче получается какой-то дрочь ради дрочи, который плюсов не имеет совсем. Но может у кого-то есть иное мнение?
Ukrainian President Volodymyr Zelensky said in a video message on Tuesday that Ukrainian forces "destroy the invaders wherever we can." "We're seeing really dramatic moves, and it's all really tied to Ukraine right now, and in a secondary way, in terms of interest rates," Octavio Marenzi, CEO of Opimas, told Yahoo Finance Live on Thursday. "This war in Ukraine is going to give the Fed the ammunition, the cover that it needs, to not raise interest rates too quickly. And I think Jay Powell is a very tepid sort of inflation fighter and he's not going to do as much as he needs to do to get that under control. And this seems like an excuse to kick the can further down the road still and not do too much too soon." Some people used the platform to organize ahead of the storming of the U.S. Capitol in January 2021, and last month Senator Mark Warner sent a letter to Durov urging him to curb Russian information operations on Telegram. At this point, however, Durov had already been working on Telegram with his brother, and further planned a mobile-first social network with an explicit focus on anti-censorship. Later in April, he told TechCrunch that he had left Russia and had “no plans to go back,” saying that the nation was currently “incompatible with internet business at the moment.” He added later that he was looking for a country that matched his libertarian ideals to base his next startup. After fleeing Russia, the brothers founded Telegram as a way to communicate outside the Kremlin's orbit. They now run it from Dubai, and Pavel Durov says it has more than 500 million monthly active users.
from ua