
Sergey
25.06.2017
13:15:44
лучше потом отдельный стрим про поведение забахай

Evgeniy
25.06.2017
13:15:48
я тебе покажу эту фишку на наследованием

Sergey
25.06.2017
13:16:55
если ты просто переопределишь поведение и стэйт полностью - возникает вопрос - зачем ты наследовался?

Evgeniy
25.06.2017
13:17:28
я не буду переопредлять методы open и close

Google

Evgeniy
25.06.2017
13:17:38
я просто добавлю метод который меняет state

Aleh
25.06.2017
13:17:41

Evgeniy
25.06.2017
13:17:48
и объект новый будет мутабельным
но при этом твой тест он будет проходить на ура

Aleh
25.06.2017
13:18:36

Evgeniy
25.06.2017
13:18:45
а что не кланируете текущий объект?
сейчас я покажу как бы я дверь делал)

Aleh
25.06.2017
13:19:14
код условный, надо создание поместить в opened и closed
пример для dummyCounter больше

Evgeniy
25.06.2017
13:19:30
кстате хороший пример
довольно сложно изнасиловать его наследованием

Sergey
25.06.2017
13:22:03
лучше разобратся почему люди насилуют наследование и сделать стрим что бы этого небыло

d.Thein
25.06.2017
13:24:10
эх

Google

Evgeniy
25.06.2017
13:25:32

Sergey
25.06.2017
13:25:52
так как ты думаешь, в чем причина?)

Evgeniy
25.06.2017
13:34:56
но надеюсь не серьезно
люди вообще по своей природе гандоны в том числе и программисты, просто хорошие програмисты меньшие гандоны

Sergey
25.06.2017
13:35:54
в людях
я тоже считаю что биореактор не такая плохая идея, но мне кажется не столько в людях сколько в чем-то как они изучают вещи

Evgeniy
25.06.2017
13:36:12
но этот информационный мусор создают люди!

Aleh
25.06.2017
13:36:18

Evgeniy
25.06.2017
13:36:21
причем не всегда умышленно)

Sergey
25.06.2017
13:36:39

Evgeniy
25.06.2017
13:37:04
именно
хорошо сформулировал мою мысль)
хорошей цитатой

Sergey
25.06.2017
13:37:55
да точно забыл)
ну типа... теперь твое наследование ничего не делает. Так как базовый класс как работал со своим стэйтом так и работает. А дочеркий - тупо сэтит свое приватное свойство.
ну то есть поведение базового класса не изменилось, он как был имутабельным так и остается

Evgeniy
25.06.2017
13:38:14
хочешь Серега покажу еще один забавный способ как из имутабельной двери что я написал
сделать мутабельность?)))

Sergey
25.06.2017
13:38:28
так где мутабельность то?

Google

Sergey
25.06.2017
13:38:34
твой метод setIsOpened ничего не делает

Evgeniy
25.06.2017
13:38:35
урожешься но фантазия людей безгранична

Sergey
25.06.2017
13:38:36
от слова совсем

Aleh
25.06.2017
13:38:46
ну можно рефлексией

Sergey
25.06.2017
13:39:04

Evgeniy
25.06.2017
13:39:09
но есть еще забавней

Sergey
25.06.2017
13:39:25

Evgeniy
25.06.2017
13:39:28
я когда увидел уржался

Sergey
25.06.2017
13:39:54
либо переопределить полностью поведение (этим Yii-ники людят заниматься)

Evgeniy
25.06.2017
13:40:09
$openDoor = new Door(true);
$openDoor->__constructor(false); // PHP прекрати

Sergey
25.06.2017
13:40:19
делай приватный конструктор че
`
public static function opened(): self;
public static function closed(): self;
private function __constructor(bool $state);

Evgeniy
25.06.2017
13:41:05
приватный конструктор не проблема для людей с рефлексией
поэтому люди главная причина)
поэтому надо делать final классу Door чтобы не отнаследовались

Aleh
25.06.2017
13:41:50
нет смысла защищаться от людей с рефлексией

Evgeniy
25.06.2017
13:41:51
и final конструктору

Google

Sergey
25.06.2017
13:42:09
поэтому люди главная причина)
не пытался видя подобные вещи подумать почему они это хотят сделать? Вот тебе варианты:
- лень и недальновидность
- твой класс не реализует поведение которое им нужно в полной мере

Aleh
25.06.2017
13:42:18

Evgeniy
25.06.2017
13:42:35
как мы опять мастерски в оффтоп уходим)

Sergey
25.06.2017
13:42:45
мы взрослые люди. Если люди хотят запихивать пальцы в разетку - ну это их дело. Ты их не остановишь
другое дело что с разеткой ты быстро получишь фидбэк
и большинство уже не будет делать так второй раз
а с рефрексией проблемы могут всплыть уже для новых разработчиков

Evgeniy
25.06.2017
13:43:40
так тут ключевая вешь что есть много новичков разработчиков
и куча курсов на ютубе
авторы которых в каждом видео пихают пальцы в розетку)

Admin
ERROR: S client not available

Sergey
25.06.2017
13:44:04
представь что у тебя есть разработчик который в среднем на проекте пол года не больше. Оставил кучу - переходишь на другой проект. А больно уже другим. Красота же

Evgeniy
25.06.2017
13:44:27
это архитекторы
некоторые творят архитектуру
а потом бегут на новый

Sergey
25.06.2017
13:44:37
можно даже сервис такой сделать

Evgeniy
25.06.2017
13:45:06
проблема в том что даже если будут минусить
ты один
а говно курсов полно

Google

Sergey
25.06.2017
13:45:14
так идея в том что бы не один)

Evgeniy
25.06.2017
13:45:27
тебе надо будет делать количество видео делать = количеству говно видео
и еще поиски этих курсов и тд
а кто еще?)

Sergey
25.06.2017
13:45:46

Evgeniy
25.06.2017
13:45:48
поэтому идея эта утопия)

Sergey
25.06.2017
13:45:49
и подаче информации
а количество видосов будет на несколько порядков меньше

Evgeniy
25.06.2017
13:46:08
лучше делать простые видео и по тихоньку людей обучать чтобы они сами детектили говно видео

Sergey
25.06.2017
13:46:18
ну научишь ты сотню другую
миллионы лемингов всеравно будут прыгать в блендер

Evgeniy
25.06.2017
13:46:32
если научу хоть одного уже не зря
так милионы леммингов не факт что тебя поймут
и скажут это ты дичь несешь
а денвер хорошо
удобно

Sergey
25.06.2017
13:47:26
https://www.youtube.com/watch?v=VfJQ4A2WG2o

Evgeniy
25.06.2017
13:48:20
лол
ну вот их надо возглавлять
и даже если направлять в правильную сторону не факт что они поймут что проиходит
тут надо думать, а думать сложна
поэтому я чуть другую тактику выбрал, не стоять на пути лемингов, потому что я не выстаю
а просто делать норм видео для новичков и не только и местами высказывать имхо