@oop_ru

Страница 517 из 785
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 и с точки зрения выстрелов в ногу ничего не поменялось

не нравится теб контракт - сделай новый метод
повторюсь - этот кастыль был нужен что бы каой-то внутренний интерфейс не менять ибо BC надо было соблюдать к релизу 7.2

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

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

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

каплинг и кохижен

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

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

как ты там говорил - проще запретить

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

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
если речь про php
так все ваши проблемы из-за пхп?

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

Admin
ERROR: S client not available

Artur
21.02.2018
10:47:27
так все ваши проблемы из-за пхп?
в чистом js те же проблемы )

Артур Евгеньевич
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
ну, тогда можна попробовать - https://translate.google.com
мне нужен оригинал, только нормальный, желательно с навигацией по главам и т.д., старая книга а до сих пор нет нормального скана.

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, актуальная версия, и не ипет

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
к чему вы пришли, ослабление пред* условий, хорошо ?
ослабление пред условий ни хорошо ни плохо - оно разрешено в рамках LSP. А товаристч не понимает разницу между интерфейсом и контрактом судя по дискуссии

пост условия это ретурн тайп

или его тоже можно опускать?

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

Страница 517 из 785