Telegram Group & Telegram Channel
Как вы относитель к классам с одним методом?

Как вы помните, полгода назад меня перекинуло лидить PHP проект. И вот переодически начал видеть такие классы на ревью. Естественно в go командах такой проблемы не было.

Аргументы тех кто за - легко тестировать, SRP, просто и понятно и т.д. Из всего этого списка валидным, я могу признать валидным только легко тестировать - это правда. Все остальное слегка сомнительно, начиная от специфического понимания SRP(где вообще нет ни слова про то что один класс один метод), заканчивая тем что мне нифига неудобо шляться по yml конфигам и 30 классам, вместо того, чтобы просто прочитать простую плоскую функцию, пусть даже на 300 строк.

Когда я работал в одном сервисе доставки еды(не спрашивайте в каком, всё равно не скажу, но это была не ЯндексЕда), там увидел эту ситуацию возведенную в абсолют. Был вот такой интерфейс:

interface ServiceInterface
{
public function behave(Request $request): Response;
}

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

Короче получается какой-то дрочь ради дрочи, который плюсов не имеет совсем. Но может у кого-то есть иное мнение?



group-telegram.com/ebanoePHP/857
Create:
Last Update:

Как вы относитель к классам с одним методом?

Как вы помните, полгода назад меня перекинуло лидить PHP проект. И вот переодически начал видеть такие классы на ревью. Естественно в go командах такой проблемы не было.

Аргументы тех кто за - легко тестировать, SRP, просто и понятно и т.д. Из всего этого списка валидным, я могу признать валидным только легко тестировать - это правда. Все остальное слегка сомнительно, начиная от специфического понимания SRP(где вообще нет ни слова про то что один класс один метод), заканчивая тем что мне нифига неудобо шляться по yml конфигам и 30 классам, вместо того, чтобы просто прочитать простую плоскую функцию, пусть даже на 300 строк.

Когда я работал в одном сервисе доставки еды(не спрашивайте в каком, всё равно не скажу, но это была не ЯндексЕда), там увидел эту ситуацию возведенную в абсолют. Был вот такой интерфейс:


interface ServiceInterface
{
public function behave(Request $request): Response;
}

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

Короче получается какой-то дрочь ради дрочи, который плюсов не имеет совсем. Но может у кого-то есть иное мнение?

BY ebanoePHP




Share with your friend now:
group-telegram.com/ebanoePHP/857

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

In addition, Telegram's architecture limits the ability to slow the spread of false information: the lack of a central public feed, and the fact that comments are easily disabled in channels, reduce the space for public pushback. Such instructions could actually endanger people — citizens receive air strike warnings via smartphone alerts. It is unclear who runs the account, although Russia's official Ministry of Foreign Affairs Twitter account promoted the Telegram channel on Saturday and claimed it was operated by "a group of experts & journalists." Recently, Durav wrote on his Telegram channel that users' right to privacy, in light of the war in Ukraine, is "sacred, now more than ever." The regulator took order for the search and seizure operation from Judge Purushottam B Jadhav, Sebi Special Judge / Additional Sessions Judge.
from jp


Telegram ebanoePHP
FROM American