Size: a a a

var chat = new Chat();

2021 April 14

YN

Yurii Nskyi in var chat = new Chat();
так может надо правильно тогда строить бизнес-логику? пусть она будет в экстеншен методах, но где-то все-равно будет точка входа из нестатического контекста, тут то и надо мокать
источник

JS

John Stellmann in var chat = new Chat();
Не я этот интерфейс придумал
источник

V

VD in var chat = new Chat();
да, обычно так и делают, просто это больше кода, и не совсем очевидного, потому что мокается не сам метод а его зависимости
источник

V

VD in var chat = new Chat();
аля костыль
источник

JS

John Stellmann in var chat = new Chat();
Неверно все устали костылить и добавили во фреймворк
источник

YN

Yurii Nskyi in var chat = new Chat();
счёт ведь не идёт на количество кода, я о том, что если ты задумываешься о том, что-бы при юнит-тестировании потрошить кишки твоего юнита, это уже тревожный звоночек
источник

V

VD in var chat = new Chat();
так а где там потрошение кишков?
источник

YN

Yurii Nskyi in var chat = new Chat();
тестирование/моканье приватных методов и статических
источник

YN

Yurii Nskyi in var chat = new Chat();
это детали
источник

JS

John Stellmann in var chat = new Chat();
Враппер хелпер и утил - три кита на которых держится все программирование 🤣😂
источник

V

VD in var chat = new Chat();
на счет приватных методов я сказал выше, что да - это бред и ненужно
но с статикой не все так однозначно, потому что она не всегда приватная, и вся разница в том что методы не экземплярные
источник

V

VD in var chat = new Chat();
просто в коде выглядят как экземплярные
источник

V

VD in var chat = new Chat();
при том, что сам факт наличия хелпер/утил классов - это один большой антипаттерн в ООП
источник

V

VD in var chat = new Chat();
кек
источник

YN

Yurii Nskyi in var chat = new Chat();
ну так а как они вдруг оказались статикой?) как так то? у них явно логика принадлежит к экземпляру класса?
или не принадлежит, и добавили потому-что "удобно, быстро и вообще таски надо делать а не думать"? ну для такого есть замечательно слово, которое мы все знаем
источник

JS

John Stellmann in var chat = new Chat();
Ну вот, а потом чешут репу, как мне статик замокать 😄
источник

JS

John Stellmann in var chat = new Chat();
Нужно писать враппер над хелпером 😄
источник

YN

Yurii Nskyi in var chat = new Chat();
я просто реально пытаюсь понять зачем люди это всё так делают, а потом героически решают самосозданные проблемы
пока-что единственные причины это были банальная спешка, и нежелание делать правильно из принципа "и так сойдёт"
источник

V

VD in var chat = new Chat();
ну смотри, классический случай

ты - потребитель либы, и в приложении чтобы допустим мапить один класс в чтото другое написан экстеншен метод

в сам тип ты влезть и добавить этот метод не можешь, да и собсна не должен, так что без экстеншена не получится

и тут встает вопрос, а как его мокать, при том что зачастую такие методы в принципе аргументов не имеют
источник

V

VD in var chat = new Chat();
порождать сущности беспорядочно тоже не ок, особенно если там не предполагается состояния
источник