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: |

Despite Telegram's origins, its approach to users' security has privacy advocates worried. Telegram Messenger Blocks Navalny Bot During Russian Election The Security Service of Ukraine said in a tweet that it was able to effectively target Russian convoys near Kyiv because of messages sent to an official Telegram bot account called "STOP Russian War." The original Telegram channel has expanded into a web of accounts for different locations, including specific pages made for individual Russian cities. There's also an English-language website, which states it is owned by the people who run the Telegram channels. 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 ru


Telegram ebanoePHP
FROM American