Size: a a a

2020 January 29

MM

Maksim Masiukevich in PHP
Не, впервые слышу. Но руки бы оторвал
источник

SM

Sergey Milegov in PHP
Константин Грачев
За switch (true) { $shit instanceof ShitClass: case
Ну как.. оупен-клоуз же.
источник

КГ

Константин Грачев in PHP
Sergey Milegov
Ну как.. оупен-клоуз же.
Ну речь больше про условия в каждом кейсе и передачи true
источник

SP

Sergey Protko in PHP
Константин Грачев
Ребят, а почему switch (true) и instanceof в case это плохо?
По той же причине по которой просто instance of "не оч хорошо". В целом все упирается в расширяемость решения. В большинстве случаев проблемы подправить свитч нет
источник

КГ

Константин Грачев in PHP
Sergey Protko
По той же причине по которой просто instance of "не оч хорошо". В целом все упирается в расширяемость решения. В большинстве случаев проблемы подправить свитч нет
Мне просто казалось саму конструкцию с условиями в кейсах хейтили. Но причин не запомнил
источник

SP

Sergey Protko in PHP
У свитча обычно проблема с выходом из ветки
источник

SP

Sergey Protko in PHP
Легко проебаться
источник

SP

Sergey Protko in PHP
А так switch (true) сам по себе норм
источник

SP

Sergey Protko in PHP
Не норм может быть ток как его юзать)
источник

КГ

Константин Грачев in PHP
🤔 понял принял
источник

AS

Anton Shabouta in PHP
В бизнес логике, где чаще всего плевать на перформанс и важнее расширяемость и читаемость switch(true) может быть признаком подгнивания кода. А в инфраструктуре и ниже он сплощь и рядом.
источник

KN

Kirill Nesmeyanov in PHP
У меня все фектори из детерменированного количества конечных результатов на этом switch true держатся)))
источник

KN

Kirill Nesmeyanov in PHP
источник

KN

Kirill Nesmeyanov in PHP
ну и вообще все редьюсеры для ast билдеров вообще напичканы этим, ибо там все потомки что описаны в ветвлении определены на уровне грамматики
источник

KN

Kirill Nesmeyanov in PHP
ну и вот в догонку (не про swith/true, а вообще), прост: https://derickrethans.nl/php7.2-switch.html
источник

KN

Kirill Nesmeyanov in PHP
но эта оптимизация работает только когда case одного типа
источник

AM

Artem Molotov in PHP
Dmitry MiksIr
А сколько подарков можно словить, если переменную переименовать захочется...
шторм распарсивает такие ситуации
источник

AM

Artem Molotov in PHP
(хотя тут 50/50, зависит от опции во время ринейма)
источник

AS

Anton Shabouta in PHP
Kirill Nesmeyanov
У меня все фектори из детерменированного количества конечных результатов на этом switch true держатся)))
Ну так у тебя вполне себе инфраструктурный код и есть, где это норма
источник

AS

Anton Shabouta in PHP
У меня в парсинге бинарных данных каких их тоже полно
источник