170 похожих чатов

1. Как ты замокаешь класс с статическими методами? Затягивая доп.

либы специально для их мокирования?

2. Я объяснял тебе сообщением выше, там всё доступно и понятно

20 ответов

100 просмотров
Makar M.- Автор вопроса

Тот же пхп юнит не умеет так делать и нужно тянуть Mockery

Makar M.- Автор вопроса
Владислав Субботин
А пхп юнит не сторонняя либа?

Сторонняя, но зачем тянуть ещё одну?

Makar M.
Сторонняя, но зачем тянуть ещё одну?

А проблема-то в чём? У тебя зависимости платные?

Makar M.- Автор вопроса
Владислав Субботин
А проблема-то в чём? У тебя зависимости платные?

В том, что все проблемы решаются лишь отсутствием статик методов в коде и правильной инкапсуляцией

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

Makar M.- Автор вопроса
ᅠ ᅠ
Сторонние инструменты могут заставлять тебя писать...

На счёт делают ли статик методы код лучше, всё зависит от того, с какой стороны смотреть на код и ООП

Makar M.
На счёт делают ли статик методы код лучше, всё зав...

Всё верно. И здесь лучше выбрать правильную сторону. Если метод не использует контекст, то зачем делать его частью инстанца? На худой конец, можно вывести его в отдельный хелпер.

Makar M.- Автор вопроса
ᅠ ᅠ
Всё верно. И здесь лучше выбрать правильную сторон...

Чтобы не делать код процедурным. ООП про объекты и их взаимодействие.

Так а разница в чём? Какой профит получит код, если он будет на все 100% (но это не про пхп) ООП? Есть определённые вещи, которые выпадают из цепочки ООП и это неизбежно и это нормально.

Makar M.
Чтобы не делать код процедурным. ООП про объекты и...

тогда надо и скалярные типы в объекты перевести, а то не по канону получается

Makar M.- Автор вопроса
Makar M.- Автор вопроса
ᅠ ᅠ
Так а разница в чём? Какой профит получит код, есл...

Возможно, выпадение из ООП обусловлено желанием сделать как удобно, а не как нужно

Makar M.- Автор вопроса
Bobir
тогда надо и скалярные типы в объекты перевести, а...

В пхп конечно так не получится) Но в той же джаве вполне

Makar M.
Упрощает код и его поддержку

Чем именно? Тем, что у тебя в классе 100 методов и чтобы тебе понять, что 50 методов являются чистыми, тебе нужно их изучить. Этим? Не знаю, какие книжки ты читаешь, но лучше растопи ими дом!

Makar M.
В пхп конечно так не получится) Но в той же джаве ...

в джаве как и в пхп получится обертка над скалярным типом

Makar M.- Автор вопроса
ᅠ ᅠ
Чем именно? Тем, что у тебя в классе 100 методов и...

Зачем понимать что они чистые? Тебе даже не нужно их содержимое смотреть, если код хороший

Makar M.- Автор вопроса
Bobir
в джаве как и в пхп получится обертка над скалярны...

А электроны в процессоре вообще не объекты)

Makar M.
А электроны в процессоре вообще не объекты)

вот и получается что парадигма ооп не соблюдается

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта