Size: a a a

2020 December 20

DE

Dmitry Eliseev in PHP
Алексей Гевондян
к слову, у меня к пхпстену очень много вопросов - но никак не могу найти, где бы почитать, опираясь на что они делали все свои эти вот "не юзайте то, не юзайте се". может у кого есть инфа? прям суперценно было бы
Ну это в книгах про чистый код, рефакторинг и архитектуру всё.
источник

АГ

Алексей Гевондян... in PHP
кстати также нельзя юзать: свич, протектед пропертиз, абстрактные методы вне интерфейсов, динамические вызовы и обращения к полям, статические методы и классы, деструктуризацию массивов, массивы с ключами строками, и многое другое - нет желания сейчас полный список формулировать. но мне нравятся эти требования. они заставляют думать и делать хорошо
источник

SP

Sergey Protko in PHP
Алексей Гевондян
кстати также нельзя юзать: свич, протектед пропертиз, абстрактные методы вне интерфейсов, динамические вызовы и обращения к полям, статические методы и классы, деструктуризацию массивов, массивы с ключами строками, и многое другое - нет желания сейчас полный список формулировать. но мне нравятся эти требования. они заставляют думать и делать хорошо
читай про open/close
источник

АГ

Алексей Гевондян... in PHP
Sergey Protko
зачем голову забивать бесполезной инфой. Просто следуй тому что говорит тебе тула. "они там явно лучше знают"
так и делаю
источник

SP

Sergey Protko in PHP
Open/Close из SOLID, Protected Variations из GRASP.  И глядишь поймешь
источник

DZ

Daniil Zobov in PHP
Алексей Гевондян
кстати также нельзя юзать: свич, протектед пропертиз, абстрактные методы вне интерфейсов, динамические вызовы и обращения к полям, статические методы и классы, деструктуризацию массивов, массивы с ключами строками, и многое другое - нет желания сейчас полный список формулировать. но мне нравятся эти требования. они заставляют думать и делать хорошо
Дебильные требования, чесслово, кроме ограничений никаких плюсов
источник

DZ

Daniil Zobov in PHP
Можешь в целом на бэйсик переходить, там этого всего нет
источник

SP

Sergey Protko in PHP
Daniil Zobov
Дебильные требования, чесслово, кроме ограничений никаких плюсов
осознанные ограничения это благо
источник

АГ

Алексей Гевондян... in PHP
Dmitry Eliseev
Ну это в книгах про чистый код, рефакторинг и архитектуру всё.
+- так же я и думал, но одним словом это надо еще раз прочитать и все освежить в голове... ну и да, там из разного насобрано. много придется читать собирать. было бы неплохо иметь "phpstan rules reference & philosophy" чтоли, почему-то этого нет, не могу найти, странно
источник

MM

Maksim Masiukevich in PHP
Ограничения, которых не понимаешь, называть дебильными... Ок, чо. Битрикс форевер
источник

SP

Sergey Protko in PHP
Алексей Гевондян
+- так же я и думал, но одним словом это надо еще раз прочитать и все освежить в голове... ну и да, там из разного насобрано. много придется читать собирать. было бы неплохо иметь "phpstan rules reference & philosophy" чтоли, почему-то этого нет, не могу найти, странно
простая штука - писать код так что бы можно было расширять функционал добавляя новый код и не меняя старый. Сложное правило?
источник

АГ

Алексей Гевондян... in PHP
Daniil Zobov
Дебильные требования, чесслово, кроме ограничений никаких плюсов
архитектура и есть набор ограничений. код без ограничений - говнокод.
источник

SP

Sergey Protko in PHP
или если попытаться упростить - "работает не трогай на максималках"
источник

DZ

Daniil Zobov in PHP
Вот интересно, в чем плюсы от ограничений на свич и, к примеру, на ассоциативные массивы?
источник

SP

Sergey Protko in PHP
Daniil Zobov
Вот интересно, в чем плюсы от ограничений на свич и, к примеру, на ассоциативные массивы?
свитч:

- расширяется только за счет изменения кода (альтернатива - полиморфизм)
- растет сложность кода (в некоторых ситуациях)
- забывают break (потому ввели match в php8)
источник

АГ

Алексей Гевондян... in PHP
Sergey Protko
простая штука - писать код так что бы можно было расширять функционал добавляя новый код и не меняя старый. Сложное правило?
это в целом, но ведь если скажешь на вопрос "почему нельзя то-то" - чтобы можно было легко и безопасно расширять код, посмотрят как на идиота, который теплое с мягким путает, хочется более конкретные аргументы иметь... но в целом да, для себя не вижу смысла это все изучать. есть тула, которая заставляет делать хорошо - она свое дело делает. я просто буду ее юзать, да и вообще, это мое дело. а дело других - юзать или не юзать... одним словом каждый делает что хочет) и все) спорить просто не надо
источник

SP

Sergey Protko in PHP
еще страшную вещь скажу - использование new в коде тоже open/close нарушает
источник

SP

Sergey Protko in PHP
Алексей Гевондян
это в целом, но ведь если скажешь на вопрос "почему нельзя то-то" - чтобы можно было легко и безопасно расширять код, посмотрят как на идиота, который теплое с мягким путает, хочется более конкретные аргументы иметь... но в целом да, для себя не вижу смысла это все изучать. есть тула, которая заставляет делать хорошо - она свое дело делает. я просто буду ее юзать, да и вообще, это мое дело. а дело других - юзать или не юзать... одним словом каждый делает что хочет) и все) спорить просто не надо
ну не надо брать таких на работу)
источник

ВУ

Валентин Удальцов... in PHP
Daniil Zobov
Вот интересно, в чем плюсы от ограничений на свич и, к примеру, на ассоциативные массивы?
ну про ассоциативные массивы много раз говорили уже. они нужны только когда json_decode делаешь, но это всё спрятано обычно в инфраструктуре
источник

АГ

Алексей Гевондян... in PHP
кстати да, и тот же пхпстен имеет правило и про нью) у меня оно просто засаппрешено на уровне проекта, потому что слишком геморно избавляться было от всего такого...
источник