
Artur
20.02.2018
21:57:17
а сейчас можно вообще не топливо лить а воду или святое ничего

Sergey
20.02.2018
21:57:28
у тебя был общий тип - стринг
и какая-то реализация (подтип) вдруг решили принимать не любой стринг а какой-то свой
на интерфейс это никак не влияет

Google

Sergey
20.02.2018
21:57:29
но LSP ломается ровно так же как и в твоем примере с json
p.s. изменения о которых ты говорил нужны были что бы закрыть BC break в 7.2

Artur
20.02.2018
21:57:53
мы не говорим о том что код бывает н валидный
и наследование топлива карантирует совместимость со всеми двс
любой паттерн можно испаганить

Sergey
20.02.2018
21:58:45
я еще раз повторю - и без этой фичи LSP ломается так же как и с этой фичей
тот факт что ты не указываешь тип никак на это не влияет
и клиентский код что раньше мог запихнуть не строку а бул, что сейчас
удачи

Artur
20.02.2018
21:59:21
потому что эта фича не панацея

Sergey
20.02.2018
21:59:28
это кастыль

Google

Artur
20.02.2018
21:59:38
IDE автокомплит!

Sergey
20.02.2018
21:59:38
и это никто не отрицает)

Artur
20.02.2018
21:59:50
дополнительная проверк
чтобы раньше времени посдать
в данном случае это не расширение контракта а отмена контракта
ты серьёзно против сеттеров и за отмены контрактов?

Sergey
20.02.2018
22:01:10
и никто контракты не отменял
у тебя и так язык не позволяет контракты типами явно прописывать
о чем вообще речь

Artur
20.02.2018
22:01:38
ооп можно строить и на массивах с процедурщиной

Sergey
20.02.2018
22:01:46

Artur
20.02.2018
22:01:52
только условно

Sergey
20.02.2018
22:01:54
а хотя...
ну короч мы возвращаемся к тому "что такое ооп"

Artur
20.02.2018
22:02:02
отсутствие сахара по сути
если в кратце я прифигел от такой вольности
не нравится теб контракт - сделай новый метод


Sergey
20.02.2018
22:05:25
ты серьёзно против сеттеров и за отмены контрактов?
по поводу сеттеров:
- я не против сеттеров, я сам их использую. Там где, как ты метко подметил, "мне пофиг". а там где не пофиг я стараюсь их не юзать просто потому что они могут скрыть от меня важную инфу.
- в большинстве случаев сеттерам есть альтернативы. И я часто вижу проблемы в духе "лепим все в одну табличку просто потому что а зачем по другому?"
- сеттеры - простой способ упустить извиду проблемы со связанностью и декомпозицией.
по поводу контрактов:
- ты не можешь описать контракты типами, что бы в компайлтайм.
- ты можешь попробовать описать контракты через AOP но в случае с php это кастыли
- изменения в php 7.2 разрешают тебе расширять прекондишены контрактов что полезно. В 7.3 ВОЗМОЖНО разрешат делать это корректно, с учетом ковариантности/контрвариантности (то есть и для ретурнов можно будет).
- с точки зрения LSP и с точки зрения выстрелов в ногу ничего не поменялось

Google

Sergey
20.02.2018
22:06:00
я уже не помню что именно они так фиксили

Artur
20.02.2018
22:06:59


Sergey
20.02.2018
22:07:15
я вообще загоняюсь по связанности, для меня это главное
каплинг и кохижен

Artur
20.02.2018
22:07:30


Sergey
20.02.2018
22:07:43
сеттеры у меня в списке основных виновников того что люди редко замечают проблемы с каплингом
как ты там говорил - проще запретить

Artur
20.02.2018
22:09:18


Sergey
20.02.2018
22:10:54

Artur
20.02.2018
22:11:03
я так не думаю

Sergey
20.02.2018
22:11:06
дальше это на твоей совести

Artur
20.02.2018
22:11:08
расширить это подолнить
а не снять ограничение

Sergey
20.02.2018
22:11:22
ой все

Artur
20.02.2018
22:11:29
ххотя да игра слов

Sergey
20.02.2018
22:11:31
php вообще ужасный язык
на этом и закончим

Artur
20.02.2018
22:11:45
лсп как раз про РАСШИРЕНИЕ

Google

Artur
20.02.2018
22:12:54
если это метод заправить авто а в авто заинъектили депенденси двс на 95 не стоит методом "заправить" заливать незамерзайку
если у авто 2 заправки электро и топливо это разные методы с разным БЛ

andretshurotshka?❄️кде
21.02.2018
03:05:16

Maxim
21.02.2018
06:36:01
а ты когда паспорт меняешь у тебя айдишка меняется?)
Идентификационный код не меняется
Серия, номер, дата и место выдачи меняется
Меняется паспорт на основании какого-то промеж документо, вроде разрешения на смену имени
Этот документ и подтверждает в дальнейшем твои старые анкетные данные.
Т.е. работает как связывающая сущность
Если вы об этом

Admin
ERROR: S client not available

Artur
21.02.2018
10:47:27

Артур Евгеньевич
21.02.2018
11:02:30
php хороший

Maksim
21.02.2018
11:02:58
пока живой)

Sergei
21.02.2018
11:30:39
по русски не понимаю, читаю только на английском

Andrey
21.02.2018
11:42:46
ну, тогда можна попробовать - https://translate.google.com

Sergei
21.02.2018
11:44:07

Sergey
21.02.2018
11:44:26
https://www.csie.ntu.edu.tw/~r95004/Refactoring_improving_the_design_of_existing_code.pdf
хз, первая ссылка в гугле
я в бумажном виде просто купил
~$50 за epub версию
не думаю что это дорого

Sergei
21.02.2018
11:49:38

andretshurotshka?❄️кде
21.02.2018
18:00:44

Artur
21.02.2018
18:25:25
нет js кроме ECMA-262

Google

Sergey
21.02.2018
18:49:47
нет js кроме ECMA-262
ну вообще нет js... есть ecma.... js это как "ксерокс" вместо "копировальной машины"
ну и как бы, есть ECMAScript 2017, актуальная версия, и не ипет

Artur
21.02.2018
18:51:03

Sergey
21.02.2018
18:51:52

f4rt~
21.02.2018
18:52:18
о а тут был тредик по 7.2 и LSP ?
а то я пытался объяснить в соседнем чатике
к чему вы пришли, ослабление пред* условий, хорошо ?

andretshurotshka?❄️кде
21.02.2018
18:52:31

Sergey
21.02.2018
18:53:09
пост условия это ретурн тайп
или его тоже можно опускать?

f4rt~
21.02.2018
18:53:44
а я и потер сначала, потому что сам засомневался)