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

However, the perpetrators of such frauds are now adopting new methods and technologies to defraud the investors. At the start of 2018, the company attempted to launch an Initial Coin Offering (ICO) which would enable it to enable payments (and earn the cash that comes from doing so). The initial signals were promising, especially given Telegram’s user base is already fairly crypto-savvy. It raised an initial tranche of cash – worth more than a billion dollars – to help develop the coin before opening sales to the public. Unfortunately, third-party sales of coins bought in those initial fundraising rounds raised the ire of the SEC, which brought the hammer down on the whole operation. In 2020, officials ordered Telegram to pay a fine of $18.5 million and hand back much of the cash that it had raised. To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat. Such instructions could actually endanger people — citizens receive air strike warnings via smartphone alerts. The Dow Jones Industrial Average fell 230 points, or 0.7%. Meanwhile, the S&P 500 and the Nasdaq Composite dropped 1.3% and 2.2%, respectively. All three indexes began the day with gains before selling off.
from us


Telegram ebanoePHP
FROM American